主要观点:
- 继承可复用代码,减少重复,使代码更有条理,有单继承、多继承、层次继承三种类型。
- 继承可让子类复用父类代码、组织代码、自定义方法且自动继承父类更新。
- 可通过
override
方法重写父类方法,parent
关键字调用父类方法和属性,构造函数默认不继承等。 - 继承与接口不同,继承从一个父类获取代码,接口定义类需遵循的规则,一个类可实现多个接口。
- 访问修饰符控制方法和属性的可见性,影响继承,有
public
、protected
、private
三种。
关键信息:
- 示例代码展示了各种继承及相关操作,如
Gibson
和AirCondition
类的继承关系及方法重写等。 - 不同类型继承的示例,如单继承中
Japan
类继承Country
类,多继承中Japan
类继承Asia
再继承Country
类。 - 接口的示例,如
Speak
接口及Japan
类实现该接口。
重要细节:
- 子类重写父类方法需同名同参数同可见性。
- 构造函数默认不继承,子类定义构造函数会覆盖父类构造函数,可通过
parent::__construct()
调用父类构造函数。 - 不同访问修饰符的作用范围,
public
可在任何地方访问,protected
在类及子类中可访问,private
仅在定义类中可访问。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。