您的位置 首页 php

PHP的类和对象(四)访问控制和继承

访问控制

对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

默认为Public,var也是Public。

访问同一个对象类型的私有成员

如果构造函数定义成了私有方法,就不能直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。

对象继承

通过extends来继承,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,被继承的方法都会保留其原有功能。

如果父类中的方法被声明为 final,则子类无法覆盖该方法。同样如果一个类被声明为 final,则不能被继承。 需要注意的是: 属性不能被定义为 final,只有类和方法才能被定义为 final。

如果新的类中没有自己的构造函数,那么子类会自动调用父类的构函数。

子类可以使用parent::方法()或者$this->方法()(不建议使用)来调用父类的函数。

如果一个子类中的方法与父类同名,那么 parent::方法() 调用的是父类的方法,而 $this->方法() 调用的是子类的方法。

属性无法区分父类和子类,可以使用$this->属性(没有$)调用,子类同名属性会覆盖父类的。

文章来源:智云一二三科技

文章标题:PHP的类和对象(四)访问控制和继承

文章地址:https://www.zhihuclub.com/78291.shtml

关于作者: 智云科技

热门文章

网站地图