private、public、protected的区别详解
先简单粗俗的描述下:
再啰嗦的解释下:
一、
public: 公有类型
在子类中可以通过 self::属性名(或方法名) 调用public方法或属性,parent::方法名 调用父类方法
在实例中可以能过 $obj->属性名(或方法名) 来调用 public类型的方法或属性
protected: 受保护类型
在子类中可以游判通过 self::属性名(或方法名) 调用protected方法或属性,parent::属性名(或方法名) 调用父类方法。
<a style='color:red'>在实例中不能通过 $obj->属性名(或方法名) 来调用 protected类型的方法或属性</a>
private: 私有类型
该类型的属性或方法只能在该类中使用,
<a style='color:red'>在该类的实例、子类中、子类的实例中都不能调用私有类型的属性神游改和方法</a>
二、
self 和parent 的区别
a).在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中磨漏的公有或受保护的属性,但parent不可以调用
b).self:: 它表示当前类的静态成员(方法和属性)与 this是指当前对像
直接上一示例: