C++面向对象程序设计(第二版)
C++面向对象程序设计(第二版)
【1】第一章
什么是面向对象程序设计?
程序=对象+消息
(1)程序由类的定义
和类的使用
两部分组成
(2)程序中的一切操作都是通过向对象发送消息
来实现的,对象接收到消息
后,启动有关方法
完成相应的操作
在面向对象程序设计中,什么是对象?什么是类?对象与类的关系是什么? (3)现实世界中的对象有哪些特征?
对象=(描述对象属性的)数据+(操作对象的)方法
类 = 一组具有相同属性和行为的对象的抽象
,具有相同的数据和操作的一组对象的集合
类是创建对象的模板
,它包含对创建对象的状态描述
现实世界中的对象:
- 每一个对象必须有一个名字以区别于其他对象
- 用属性来描述它的某些特征
- 有一组操作,每个操作决定对象的一种行为(操作包括:自身所承受的操作和施加于其他对象的操作)
什么是消息,消息具有什么性质?
消息传递:允许一个对象与另一个对象进行交互的一种程序设计机制
当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作
- 同一个对象可以接收不同形式的多个消息,做出不同的响应
- 同一个消息传递给不同对象,所做出的响应可以是不同的
- 对象可以不响应消息
什么是方法?在C++中它是通过什么来实现的?
对象所执行的行为/操作,通过调用相应的函数实现
C++中方法是通过成员函数
实现的
什么是抽象和封装?
抽象=数据抽象+行为抽象
数据抽象描述某类对象的属性和状态
(特征物理量
)(数据成员
);行为抽象描述某类对象的共同行为特征
(成员函数
)
以学生管理系统为例:
- 共同的属性:学号、姓名、成绩 (数据抽象部分)
- 共同的行为:成绩录入、成绩排名 (行为抽象)
封装
将结构体
升华到类
的层次
将有关的数据
和操作
代码封装在一个对象中,各个对象相对独立、互不干扰
将对象中某些数据与操作代码对外隐蔽
,只留有少量接口
,以便与外界联系,接收外界的消息
什么是继承?请举例说明。
继承所表达的是对象类之间的关系
,这种关系使得某一类可以继承
另外一个类的特征和能力
若类之间具有继承关系,那它们之间具有什么特征?
类间具有共享特征
类间具有差别
或新增部分
(包括数据
和操作代码
的共享)
类间具有层次结构
什么是单继承?多继承?请举例说明?
单继承:每个派生类只直接继承了一个基类的特征
(上面例子)
多继承:多继承是指多个基类派生出一个派生类的继承关系
什么是多态性?请举例说明。
不同对象收到相同消息时产生多种不同的行为方式
- 编译时多态:函数重载+运算符重载
- 运行时多态:虚函数
传统程序设计方法的局限性主要有哪些?
- 效率低
- 难以处理日益庞大的信息量和多样的信息类型
- 难以适应各种新环境
面向对象程序设计的优点主要有哪些?
- 提高代码的重用性
- 改善代码的可维护性
【2】第二章
待整理
【3】第三章
待整理
C++面向对象程序设计(第二版)相关推荐
- JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案
面向对象(上) 1.名词解释:构造方法.抽象 构造方法一般是用来初始化数据成员的,与类名相同,无返回值. 分为有参和无参数,当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方 ...
- JAVA面向对象程序设计(第二版) 袁绍欣 第六章答案
1.this 和 super 各有几种用法? 普通的直接引用,this指向当前对象 形参与成员名字重名,用 this 来区分:子类和父类中的成员重名,使用 super 引用构造函数 2.子类对象实例化 ...
- Python 程序设计(第二版)董付国_清华大学出版社_习题答案与分析【针对8.4及其之前的】
更多精彩内容:(没有设置公众号获得,麻烦动动小手~谢谢) CSDN下载:Python编程无师自通电子书,[美]科里·奥尔索夫(Cory Althoff)-文档类-CSDN下载 百度云:链接:https ...
- matlab面向对象多态性,MATLAB面向对象程序设计10版.pptx
MATLAB面向对象程序设计10版.pptx MATLAB面向对象程序设计;第1章 绪言;1.1如何学会一门编程语言;1.2做笔记的方法;第2章 MATLAB基础知识;MATLAB的help文档;Ma ...
- Python 程序设计(第二版)董付国_清华大学出版社_习题答案【未处理1-9章】
CSDN下载:https://download.csdn.net/download/weixin_42859280/11254583 百度云:链接:https://pan.baidu.com/s/1i ...
- [转载]汇编语言程序设计第二版答案 沈美明
原文地址:汇编语言程序设计第二版答案 沈美明作者:相约爱情海 file:///C|/Users/CaoFan/Desktop/IBM-PC汇编语言程序设计(第二版)答案.txt[2010/4/24 ...
- 模式对话框和非模式对话框的区别(出自MFC windows程序设计第二版p370)
模式对话框和非模式对话框的区别:(出自<MFC windows程序设计>第二版p370) 1.显示模式对话框需要调用CDialog::DoModal,而显示无模式对话框则要调用CDialo ...
- C语言程序设计(第二版) 主编:余贞侠 何钰娟 课后习题 代码题答案
C语言程序设计(第二版) 主编:余贞侠 何钰娟 (课后习题 代码题答案) ps.由于没有官方答案,博主将自己写的代码分享出来,若有错误之处请多多谅解,转载注明出处! 版权声明:本文为CSDN博主「Ra ...
- java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案 郞波 第二版 清华大学出版社...
展开全部 我有 Java面向对象程序设计 清华大学出版社 (编著 耿祥义 张跃平) 习题解答 建议e69da5e887aa62616964757a686964616f31333330326632使用文 ...
- Javascript高级程序设计第二版第十一章--DOM2,DOM3--笔记
今天跟诸位分享一下,高程,第二版,11章,dom2,dom3 纵观这一章,一个概念,dom在变,现在变,未来变,反正不断的变. 不过变来变去,ie是不支持dom2,dom3,可能未来新版本支持部分do ...
最新文章
- 计算机二级没过学校要重修吗,如果学校说计算机二级没过不给发学位证改怎么办...
- 【Python】编程笔记7
- 面象对象设计6大原则之二:开放封闭原则
- 阿里巴巴大数据实践—阿里巴巴的数据模型实践综述
- 【LeetCode】剑指 Offer 37. 序列化二叉树
- linux学习之路(1)
- 自己动手、丰衣足食!面试表
- JS----复制事件(文字选取)
- OpenCV二值化cvThreshold和自适应二值化cvAdaptiveThreshold及Otsu
- 遗传算法原理及代码讲解
- 9道微服务面试题,你能回答上来几个?
- U盘安装Linux系统
- 统信UOS系统连接Windows系统共享的打印机
- 重构于 Vite:我如何做 SSG、静态资源发布以及自动化部署
- SQL数据更新、视图
- java开发可视化界面_java 可视化界面编程
- 群晖服务器主板维修,没那么复杂 群晖DS213j内部拆解
- Android晋级之路
- 什么是Arduino?Arduino的起源与架构简述
- leetcode 组合总和(Java)
热门文章
- INPHO常见问题处理之新建新椭球定义
- Flink-Connectors(连接器)(2)Redis
- “看到同事 2 万块的笔记本,我认输了”:会说话,才是码农该有的自我修养...
- System Verilog 四值逻辑
- Spring依赖注入的接口为null
- TagScanner(MP3标签编辑批量更名)v6.0.11.0免费版
- 极致呈现系列之:Echarts旭日图的绚丽奇观
- 基于模型预测控制(自带的mpc模块)和最优控制理论的Carsim与Matlab/simulink联合仿真实现汽车主动避撞和跟车功能
- 电子技术——CMOS反相器
- 【建议收藏|熬夜爆肝】万字文带你了解DOM,文末有彩蛋嗷!!!!✨✨✨