说明PHP OOP的公共封装的目的是什么?

Vae*_*tus 0 php oop public

我正在把我的脚趾浸入PHP的面向对象的一面,我一直在想公共封装.我理解私有和受保护的封装的目的,但是当涉及到公共时,为什么说出来呢?

所以,例如,我有 public $name;

但是,如果我可以设置$this->name = 'whatever',那么为什么"public $varname"存在?

dec*_*eze 5

因为明确指定类的属性总是更好.是的,你可以只设置它们在动态的方法需要的时候,但它使得它更加艰难,当你试图记住它是否应该是$varname,$var_name,$varName或者是否已经"宣布"酒店在所有.

当您尝试使用它时,它还确保该属性存在,这可以节省您的调用isset并使您的代码更简洁和健壮.