码迷,mamicode.com
首页 > 其他好文 > 详细

6.5 继承

时间:2018-06-06 10:40:21      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:TE   析构   ted   extends   比较   prot   end   rri   括号   

类的继承
子(派生类)继承父(基类) 关键字 :extends
语法:class zi extends fu{}
访问权限三个修饰符
public: 公共的,可以在任何地方定义(就是 var 的作用)
protected: 受保护的,只能在当前类或者当前类的上下级有继承关系的类访问,别的类访问不了
private: 私有的,只能在其所在类访问,别的类访问不了
基本概念:
继承 :一个类从另一个类获得他的属性和方法,称为继承。
派生 :从一个已经有的类产生一个新的类,称为派生。
拓展 :在子类中再来定义自己的一些新的特有的属性和方法,没有扩展,也就没了继承的意义。
单继承:一个类只能继承一个上级的特性和信息。

parent代表父类
对比:self代表当前类(自己所在的当前类)
parent 通常用于子类中调用父类的成员,多数就是使用父级的静态类成员,因为parent代表的是类,并非对象

构造方法析构方法在继承中的表现:
子类中没有定义析构方法时,会自动调用父类的析构方法,如果子类定义了自己的析构方法,就不会调用父类的析构方法,如果想调用可以手动添加,perent::__destruct()。

最终类跟最终方法:
一个类或者一个方法,不想被别人当做父级拿来拓展或者方法不希望被下级覆盖,可以在类或者方法前面写关键字:final
例:最终类:final class 方法名{}; 最终方法:final function 方法名(){}

重写(override)
重写又叫覆盖,就是将从父类继承下来的属性或方法重新写成适合自己的,但是要覆盖的属性名、方法名、参数要一样。

设计模式:设计模式分为工厂模式和单例模式,是解决一些问题的常规做法,比较好的一种经验总结,面对不同的问题,可能会有不同的解决办法,此时可以称为不同的设计模式

抽象类和抽象方法 关键字 abstract
概念:在正常类或者方法前面加上关键字 abstract 就构成了抽象类或者抽象方法,抽象类不一定有抽象方法,但是有抽象方法一定是抽象类,
抽象方法:抽象方法只有定义,没有方法体,小括号里写参数,括号外一定有分号,并且没有大括号{}。
语法:abstract function a($x1, $y, $m);

6.5 继承

标签:TE   析构   ted   extends   比较   prot   end   rri   括号   

原文地址:https://www.cnblogs.com/cp123/p/9143255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!