《PHP的类和对象(四)访问控制和继承》要点:
本文介绍了PHP的类和对象(四)访问控制和继承,希望对您有用。如果有疑问,可以联系我们。
欢迎参与《PHP的类和对象(四)访问控制和继承》讨论,分享您的想法,维易PHP学院为您提供专业教程。
拜访控制
对属性或方法的拜访控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的.被定义为公有的类成员可以在任何地方被拜访.被定义为受保护的类成员则可以被其自身以及其子类和父类拜访.被定义为私有的类成员则只能被其定义所在的类拜访.
默认为Public,var也是Public.
拜访同一个对象类型的私有成员
如果构造函数定义成了私有办法,就不能直接实例化对象了,这时候一般通过静态办法进行实例化,在设计模式中会经常使用这样的办法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象.
对象承继
通过extends来继承,子类就会继承父类所有公有的和受保护的办法.除非子类覆盖了父类的办法,被继承的办法都会保留其原有功能.
如果父类中的办法被声明为 final,则子类无法覆盖该办法.同样如果一个类被声明为 final,则不能被继承. 需要注意的是: 属性不能被定义为 final,只有类和办法才能被定义为 final.
如果新的类中没有本身的构造函数,那么子类会自动调用父类的构函数.
子类可以使用parent::办法()或者$this->办法()(不建议使用)来调用父类的函数.
如果一个子类中的办法与父类同名,那么 parent::办法() 调用的是父类的办法,而 $this->办法() 调用的是子类的办法.
属性无法区分父类和子类,可以使用$this->属性(没有$)挪用,子类同名属性会覆盖父类的.