类的继承与多态

继承

继承是类与类之间的关系。

比如说我们现在定义了一个鸟类,拥有鸟的一些属性和行为。现在我们有送信的需求,需要定义一个信鸽类。由于鸽子属于鸟类。具有与鸟类相同的属性和行为,所以我们在创建信鸽类时可以将鸟类拿来复用,并且保存鸟类具有的属性和行为。不过,并不是所有的鸟类都具有送信的习惯,因此还需要添加一些信鸽具有的独特属性和行为。鸽子类保留了鸟类的属性和行为,这样就节省了定义鸟与鸽子共同具有的属性和行为的时间,这就是继承的思想。

继承主要是抽象出现有的多个对象的共有属性和行为,形成父类。简单的说就是找出所有对象共有的一些内容,形成父类。然后每一个对象与父类不同的内容,便是子类所特有的属性和行为。正是这些所特有的属性和行为,才构成了不同的子类。

有时也可以理解为集合之间的关系:

比如说现在有三个集合,分别是:A={1,2,3},B={1,2,3,4,5},C={1,2,3,6,7};

从三者之间的关系可以看出,A为父类,是B和C这些子类所共有一些属性和行为。而B和C继承自A类,但又拥有自己的一些特性,B拥有4,5属性和行为;C拥有6,7属性和行为。

通过这些继承的思想,可以在设计软件的时候,减少代码量,缩短软件的开发时间,服用那些已经定义好的类(父类)可以提高系统的性能,减少在使用的过程中出现错误的概率。

多态

将父类对象应用于子类的特征就是多态。

比如说现在有图形类(三角形类、矩形类、平行四边形类等),每个图形都有自己的画图能力,这个能力可以看作是该具有的行为,如果将子类的对象统一看作是父类的的实例对象,这样当绘制图形时,简单地调用父类的绘图类即可绘制任何图形,这就是多态最基本的思想。

多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,可以实例化子类对象。由于整个事件的处理都只依赖于父类方法,所以日后只要维护和调整父类的方法即可,这就降低了维护的难,节省了事件。

猜你喜欢

转载自blog.csdn.net/ai_yue/article/details/80935798