面向对象的三大特性——继承、封装、多态性。
我们先来说说继承。继承,是子类对父类的沿用,父类的除私有(private)部分外,都能够归子类所继承。
继承的关系:子类=继承类=派生类,父类=基类
对父类进行继承的子类被称为继承类。又可描写叙述为父类派生而产生的子类为派生类。
被子类继承的父类被称为基类
继承的两个特性:单一性、传递性。
单一性:说的是单继承,即子类直接继承仅仅能继承于一个父类。
传递性:继承能够传递。即继承类又能够成为其它类的基类。
继承的作用:实现代码(功能的)可重用、可扩充。
继承的实现:
class Demo1 { void show1(){} void show2(){} } class Demo2 { void show1(){} void show2(){} }
依据继承的当中一个作用,正是对代码的复用。通过观察上面的代码,发现Demo1类和Demo2类都具有show1属性,所以能够使用继承。
class Demo { void show1(){} } class Demo1:Demo { void show2(){} } class Demo2:Demo { void show2(){} }
这时Demo1、Demo2都具有了show1()这个属性。
你可能会说就这么几行代码。我不怕麻烦,直接写写了事了。但实际,问题远没有这么简单,在较大程序中,同样的内容非常多,非常多功能须要反复使用。
假设写的时候,你说复制粘贴就好。不怕麻烦,但致命的问题在后面。不论什么程序都须要维护,维护就可能改动,假设不用继承,那么改动将成为无休止的痛。