好的,所以我只是在想,为什么程序员在谈到OOP中的访问修饰符时会如此紧张。
让我们以这段代码为例/ PHP!
class StackOverflow
{
private var $web_address;
public function setWebAddress(){/*...*/}
}
因为 web_address 是私有的,它不能被改变$object->web_address = 'w.e.'
,但是这个变量只会改变的事实是如果你的程序确实$object->web_address = 'w.e.';
如果在我的应用程序中我希望一个变量不被更改,那么我会制作我的应用程序,以便我的编程没有更改它的代码,因此它永远不会被更改?
所以我的问题是:使用私有/受保护/非公共实体的主要规则和原因是什么