c++面向对象编程的特点
  PjuqN0S4qpGM 2023年11月02日 56 0


First: 抽象


对具体问题(对象)进行概括,抽出一类对象公共性质并加以描述的过程。抽象的过程,也是对问题进行分析和认识的过程。对问题的抽象应该包括两个方面:数据抽象 和 行为抽象(也就是功能抽象 和 代码抽象)。用3个整形数来存储时间,分别表示时、分、秒,这个就是数据抽象。显示时间、设置时间等功能,这就是行为抽象。


Second:封装

  封装就是将抽象得到的数据和行为相结合,形成一个有机整体,也就是将数据与操作数据的函数代码进行有机的整合,形成“类”,其中的数据和函数老师类的成员。这个就不用解释了吧。

 

Third:继承

  例如,一般意义的“人”都有姓名、性别、年龄等;还有吃饭、工作、学习等。但是按照职业划分,人又分为学生、老师、工程师、医生等,每一类人又有各自的特殊属性和行为。例如学生具有专业、年级等特殊属性和升级毕业等特殊行为,这些属性和行为是医生所不具有的。如何把特殊与一般的概念间的关系描述清楚,使得特殊概念之间既能共享一般的属性和行为,又能具有特殊的属性和行为呢?继承就是解决这个问题的。C++语言中提供了类的继承机制,允许程序员在保持原有类的基础上,进行更具体、更详细的说明。


Fourth:多态

  面向对象程序设计中的多态是对人类思维方式的一种直接模拟。比如我们在日常生活中说“打球”,这个“打”,就表示了一个抽象的信息,具有多重含义。我们可以说:打篮球、打排球、打羽毛球,都使用“打”来表示参与某种球类运动,而其中的规则和实际动作却相差甚远。实际上这就是对多种运动行为的抽象。多态性是指一段程序能够处理多种类型对象的能力。在C++中这种多态可以通过强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。包含多态和类型参数化多态属于一般多态性,是真正的多态。C++中采用虚函数实现包含多态。虚函数是多态性的精华。

模板是C++实现参数化多态性的工具,分为函数模板和类模板两种。




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
PjuqN0S4qpGM