面向对象编程:抽象与实例——人
需积分: 9 85 浏览量
更新于2024-08-19
收藏 3.65MB PPT 举报
"抽象实例——人-C++东南大学何洁月课件(总)"
这篇资料主要探讨了在C++编程中使用抽象的概念,通过“人”这个实例来讲解数据抽象和代码抽象。数据抽象是指对对象的特征进行简化表示,这里的“人”对象包括了如`char *name`(姓名)、`char *sex`(性别)、`int age`(年龄)和`int id`(身份证号)等属性。这些属性构成了人这个类的基础数据结构。
代码抽象则关注对象的行为,从生物属性和社会属性两个角度来定义“人”的行为。生物属性包括`GetCloth()`(穿衣)、`Eat()`(吃东西)、`Step()`(行走)等,这些方法代表了人的基本生理活动。社会属性则涉及`Work()`(工作)、`Promote()`(晋升)等,反映了人在社会生活中的角色和活动。值得注意的是,根据不同的需求,同一个问题可能会有不同层次的抽象,即抽象的成员可能会有所不同。
资料中还提到了一些C语言的编程元素,如C程序的结构,包括分支结构和循环结构。分支结构如`if...else`语句,用于根据条件执行不同的代码块;循环结构如`for`、`while`等,用于重复执行某段代码。这部分内容通常来自《计算机程序设计基础》的相应章节,例如P58图3.3和图3.4所示的例子。
此外,资料还介绍了结构体(`struct`)的使用,如`struct aircraft`,用于定义具有翼幅、乘客数量等属性的飞机对象。结构体可以包含无名联合(`union`),在这里可能是为了节省存储空间,因为不同类型的飞机可能只需要使用其中一部分属性。同时,资料提到了函数的参数传递方式,例如引用(`&`)可以实现在函数内部改变调用者变量的值,与值传递形成对比。
面向对象编程(OOP)是另一个重点,它认为世界由一系列相互作用的对象组成。在C++中,类(`class`)是实现OOP的主要工具,它封装了数据和操作这些数据的方法。类的成员函数可以是内联的(使用`inline`关键字),以提高效率。此外,构造函数(`constructor`)用于在创建对象时初始化成员变量,析构函数(`destructor`)则在对象销毁前执行特定操作,确保资源的有效管理。通过继承和派生,可以构建复杂的类层次结构,但这些在当前资料中没有详细展开。
这份资料提供了C++中数据抽象、代码抽象、结构体、函数、面向对象编程的基本概念和实践,以及在实际问题中如何应用这些概念。通过实例“人”,强调了抽象在解决问题时的重要性,以及如何根据需求调整抽象的粒度。
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
2024-12-27 上传
速本
- 粉丝: 20
- 资源: 2万+
最新资源
- OptimizerTiles:《 IEEE杂志关于电路和系统中的新兴主题和选定主题》的论文的工具:使用针对虚拟现实的最佳图块的视觉注意感知全向视频流
- 人工智能实验代码.zip
- GradeCam Helper-crx插件
- jour3-THP:页面d'accueil Google
- 参考资料-418.小型预制混凝土构件质量试验报告.zip
- 饼干:用于软件项目管理的命令行界面
- 课程设计之基于Java实现的学生信息管理系统.rar
- GenerateUUID:生成崇高文本的UUID
- scripts:脚本集合
- penguin-fashion:服装网站
- 索诺特
- DKP.rar_Java编程_Java_
- 人工智能大赛:看图说话.zip
- conciertos-front
- PROYECTO-FINAL:基金会最终纲领
- svampyrerna