PHP中private、public、protected的区别详解

先简单粗俗的描述下:
public 表示全局,类内部外部子类都可以访问;
private表示私有的,只有本类内部可以使用;
protected表示受保护的,只有本类或子类或父类中可以访问;

再啰嗦的解释下:

一、

public: 公有类型

在子类中可以通过 self::属性名(或方法名)  调用public方法或属性,parent::方法名 调用父类方法

在实例中可以能过 $obj->属性名(或方法名) 来调用 public类型的方法或属性

protected: 受保护类型

在子类中可以通过 self::属性名(或方法名) 调用protected方法或属性,parent::属性名(或方法名) 调用父类方法。

在实例中不能通过 $obj->属性名(或方法名) 来调用  protected类型的方法或属性   

private: 私有类型
该类型的属性或方法只能在该类中使用,

在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法

扫描二维码关注公众号,回复: 95756 查看本文章

二、
self 和 parent 的区别
  a).在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用

  b).self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像

未完待续...

猜你喜欢

转载自www.cnblogs.com/phpper/p/8976304.html