类里面的成员变量如果是public,为什么破坏封装

类里面的成员变量如果是public,为什么破坏封装

如果是public属性,那么类外任何对象,都可以随意改变,对象创建出来,在任何地方,任何时候都是能改变的
举个简单的例子:如果你一个游戏类 ,你创建一个角色,属性如果是public的,别人可以通过内存获取你对象,通过对象去修改基本属性,这样不是就毫无安全感,
如果是函数接口,函数调用时栈内存,调用完后就直接释放了.不存在固定地址.

但是成员变量是private,还是可以通过set给变量赋值啊为什么非要是private?
 
可以通过函数去修改,但是读不到函数的地址
简单的例子,角色可以通过打怪升级,打怪相当于set函数操作,但是别人想直接修改等级做不到的
最多重复的让你去打怪,相当于脚本魔兽中的脚本
原文地址:https://www.cnblogs.com/handsome1013/p/9564190.html