|
|
1
2
最好使用封装,这是OOP最大的优点之一。将属性设为私有,并使用setter和getter访问属性。 如果要确保$id属性是一个整数,可以在setter中检查它。如果使用对属性的直接访问,则不能。如果要更改对属性的检查,则只需在一个位置更改它。
请看一下神奇的seter()和get()方法,在setter和getter方面使您的生活更轻松。 有关“设置”和“获取”(以及其他魔术方法)的详细信息: http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members
我同意戈登的看法。但仍然值得注意的是使用魔法方法的可能性。 @阿克苏: 定义属性时,请使用private、public或protected关键字。例如:
或
从 http://php.net/manual/en/language.oop5.visibility.php “类属性必须定义为public、private或protected。如果使用不带显式可见性关键字的var声明,则该属性将被定义为public。”
|
|
2
2
使用带有setter的私有属性可以实现对属性的一些基本验证,因此,如果(例如)name和password是必需的,则可以检查是否使用有效值调用它们,如果不是,则抛出异常。否则,您必须在代码的其他地方执行此操作。 强制使用getter还允许您在返回值之前执行其他任务(例如,格式化电话号码,或确保名称以大写字母开头的字符显示)。
|
|
|
3
0
使用方法(getter和setter,使attibutes私有)是调用 encapsulation |