
面向对象编程:抽象与实例——人
下载需积分: 9 | 3.65MB |
更新于2024-08-19
| 153 浏览量 | 举报
收藏
"抽象实例——人-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++中数据抽象、代码抽象、结构体、函数、面向对象编程的基本概念和实践,以及在实际问题中如何应用这些概念。通过实例“人”,强调了抽象在解决问题时的重要性,以及如何根据需求调整抽象的粒度。
相关推荐






















速本
- 粉丝: 28
最新资源
- Pebble与Insteon控制集成技术解析
- STM32F407串口实验:初学者入门指南
- Springboot与Elasticsearch整合的工程示例
- STM32F1与MPU6050六轴传感器集成教程
- 探索Lightning组件示例包:闪电技能检查器
- Android内存管理演示:GC触发与内存恢复观察
- genSpace WebServices查询问题的修复方法
- 探索jquery-gallery-viewer:创建高效灯箱效果
- JavaWeb工资管理系统与MySQL数据库脚本集成
- Visual Basic版Windows API开源库详细介绍
- C++设计模式实践:从基础到应用案例分析
- PyProject:提高开发效率的开源工具
- Unity打造太空飞机射击游戏攻略与下载
- ddConnect4: Meteor开发的Connect 4游戏,内置minimax算法
- Jenkins与Artifactory集成实现Java项目自动化部署
- NP++ 开源软件:网络协议传输特性研究
- Photoshop CS5 安装工具与字体管理合集
- toBuyList:流星应用助你智能计算购买量
- EZBac2CD开源工具:将选定文件备份至CD-R
- 开源多记录器工具:键盘、声音、网络摄像机、屏幕记录
- DayzMapTracker:切尔纳鲁斯地图玩家追踪工具
- PSD分层设计模板:青春毕业季海报制作指南
- AngularJS 1.2.28的polyfills实现与分析
- WinRAR老版本压缩包下载:无广告,易于使用