面向对象三大特性之 继承
继承是面向对象软件技术当中的一个概念。如果一个类別A继承自另一个类別B,就把这个A称为B的子类,而把B称为A的父类。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类別的原有属性和方法,使其获得与父类別不同的功能。另外,为子类別追加新的属性和方法也是常见的做法。
有些编程语言支持多重继承,即一个子类別可以同时有多个父类別,比如C++编程语言;而在有些编程语言中,一个子类別只能继承自一个父类別,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
实现继承是指使用基类的属性和方法而无需额外编码的能力;
接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。
为什么要继承?
1、代码重用(子类可以继承父类的公有成员)
2、可以实现多态(后面提到)
有关继承的几个特性:
1、继承的单根性(即每个子类只能有一个父类,而一个父类则可以有多个子类)
2、继承的传递性(子类可以继承父类的父类的共有成员)
3、子类不能继承父类的构造函数(默认调用父类的无参构造函数)
所有的类都默认继承object类(如果一个类没有显示的继承一个类,则它默认继承自object类)