类的继承和多态

继承  

  如果汽车制造厂想生产一款新型汽车,一般是不会全部从头开始设计的,而是选择已有的某一型号汽车为基础,再增加一些新的功能,就研制成了新型号的汽车。这是提高生产效率的常用方法。

    如果在软件开发中已经建立了一个名为A的“类”,又想另外建立一个名为B的“类”,而后者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,显然不必再从头设计一个新类,而只需在类A的基础上增加一些新的内容即可。这就是面向对象程序设计中的继承机制。利用继承可以简化程序设计步骤。举个例子:如果大家都已经充分认识了马的特征,现在要叙述“白马”的特征,显然不必从头介绍什么是马,而只要说明“白马是白色的马”即可。这就简化了人们对事物的认识和叙述,简化了工作程序。

    “白马”继承了“马”的基本特征,又增加了新的特征(颜色),“马”是父类,或称为基类,“白马”是从“马”派生出来的,称为子类或派生类。如果还想定义“白公马”,只需说明“白公马是雄性的白马”。“白公马”又是“白马”的子类或派生类。

    C++提供了继承机制,采用继承的方法可以很方便的利用一个已有的类建立一个新的类,这就可以重用已有软件中的一部分甚至大部分,大大节省了编程工作量。这就是常说的“软件重用”(software reusability)的思想,不仅可以利用自己过去所建立的类,而且可以利用别人使用的类或存放在类库中的类,对这些类作适当加工即可使用,大大缩短了软件开发周期,对于大型软件的开发具有重要意义。

多态

    如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。例如甲、乙、丙3个班都是高二年级,它们有基本相同的属性和行为,在同时听到上课铃声时,它们会分别走进3个教室,而不会走向同一个教室。同样,如果有两支军队,当在战场上同时听到一种号声,由于事先约定不同,A军队可能实施进攻,而B军队可能准备开饭。又如,在Windows环境下,双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。类似这样的情况是很多的。

    在C++中,所谓多态性是指:由继承而产生的不同的派生类,其对象对同一消息会做出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值