首页 > 代码库 > 面向对象系列一(继承)

面向对象系列一(继承)

面向对象的三大特性——继承、封装、多态性。

我们先来说说继承。继承,是子类对父类的沿用,父类的除私有(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()这个属性。

你可能会说就这么几行代码,我不怕麻烦,直接写写了事了。但实际,问题远没有这么简单,在较大程序中,相同的内容很多,很多功能需要重复使用。如果写的时候,你说复制粘贴就好,不怕麻烦,但致命的问题在后面。任何程序都需要维护,维护就可能修改,如果不用继承,那么修改将成为无休止的痛。