面向对象的三大特性——继承、封装、多态性。
我们先来说说继承。继承,是子类对父类的沿用,父类的除私有(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()这个属性。
你可能会说就这么几行代码,我不怕麻烦,直接写写了事了。但实际,问题远没有这么简单,在较大程序中,相同的内容很多,很多功能需要重复使用。如果写的时候,你说复制粘贴就好,不怕麻烦,但致命的问题在后面。任何程序都需要维护,维护就可能修改,如果不用继承,那么修改将成为无休止的痛。
原文:http://blog.csdn.net/wangqingbo0829/article/details/35341875