C++面向对象程序设计(第二版)

【1】第一章

什么是面向对象程序设计?

程序=对象+消息
 (1)程序由类的定义类的使用两部分组成
 (2)程序中的一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作

在面向对象程序设计中,什么是对象?什么是类?对象与类的关系是什么? (3)现实世界中的对象有哪些特征?

对象=(描述对象属性的)数据+(操作对象的)方法
类 = 一组具有相同属性和行为的对象的抽象,具有相同的数据和操作的一组对象的集合
类是创建对象的模板,它包含对创建对象的状态描述

现实世界中的对象:

  • 每一个对象必须有一个名字以区别于其他对象
  • 用属性来描述它的某些特征
  • 有一组操作,每个操作决定对象的一种行为(操作包括:自身所承受的操作和施加于其他对象的操作)
什么是消息,消息具有什么性质?

消息传递:允许一个对象与另一个对象进行交互的一种程序设计机制
 当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作

  • 同一个对象可以接收不同形式的多个消息,做出不同的响应
  • 同一个消息传递给不同对象,所做出的响应可以是不同的
  • 对象可以不响应消息
什么是方法?在C++中它是通过什么来实现的?

对象所执行的行为/操作,通过调用相应的函数实现
 C++中方法是通过成员函数实现的

什么是抽象和封装?

抽象=数据抽象+行为抽象
 数据抽象描述某类对象的属性和状态(特征物理量)(数据成员);行为抽象描述某类对象的共同行为特征(成员函数)

以学生管理系统为例:

  • 共同的属性:学号、姓名、成绩 (数据抽象部分)
  • 共同的行为:成绩录入、成绩排名 (行为抽象)

封装结构体升华到的层次
 将有关的数据操作代码封装在一个对象中,各个对象相对独立、互不干扰
 将对象中某些数据与操作代码对外隐蔽只留有少量接口,以便与外界联系,接收外界的消息

什么是继承?请举例说明。

 继承所表达的是对象类之间的关系,这种关系使得某一类可以继承另外一个类的特征和能力
     

若类之间具有继承关系,那它们之间具有什么特征?

 类间具有共享特征
 类间具有差别新增部分(包括数据操作代码的共享)
 类间具有层次结构

什么是单继承?多继承?请举例说明?

单继承:每个派生类只直接继承了一个基类的特征 (上面例子)
多继承:多继承是指多个基类派生出一个派生类的继承关系
   

什么是多态性?请举例说明。

 不同对象收到相同消息时产生多种不同的行为方式

  • 编译时多态:函数重载+运算符重载
  • 运行时多态:虚函数
传统程序设计方法的局限性主要有哪些?
  • 效率低
  • 难以处理日益庞大的信息量和多样的信息类型
  • 难以适应各种新环境
面向对象程序设计的优点主要有哪些?
  • 提高代码的重用性
  • 改善代码的可维护性

【2】第二章

待整理

【3】第三章
待整理

C++面向对象程序设计(第二版)相关推荐

  1. JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案

    面向对象(上) 1.名词解释:构造方法.抽象 构造方法一般是用来初始化数据成员的,与类名相同,无返回值. 分为有参和无参数,当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方 ...

  2. JAVA面向对象程序设计(第二版) 袁绍欣 第六章答案

    1.this 和 super 各有几种用法? 普通的直接引用,this指向当前对象 形参与成员名字重名,用 this 来区分:子类和父类中的成员重名,使用 super 引用构造函数 2.子类对象实例化 ...

  3. Python 程序设计(第二版)董付国_清华大学出版社_习题答案与分析【针对8.4及其之前的】

    更多精彩内容:(没有设置公众号获得,麻烦动动小手~谢谢) CSDN下载:Python编程无师自通电子书,[美]科里·奥尔索夫(Cory Althoff)-文档类-CSDN下载 百度云:链接:https ...

  4. matlab面向对象多态性,MATLAB面向对象程序设计10版.pptx

    MATLAB面向对象程序设计10版.pptx MATLAB面向对象程序设计;第1章 绪言;1.1如何学会一门编程语言;1.2做笔记的方法;第2章 MATLAB基础知识;MATLAB的help文档;Ma ...

  5. Python 程序设计(第二版)董付国_清华大学出版社_习题答案【未处理1-9章】

    CSDN下载:https://download.csdn.net/download/weixin_42859280/11254583 百度云:链接:https://pan.baidu.com/s/1i ...

  6. [转载]汇编语言程序设计第二版答案  沈美明

    原文地址:汇编语言程序设计第二版答案  沈美明作者:相约爱情海 file:///C|/Users/CaoFan/Desktop/IBM-PC汇编语言程序设计(第二版)答案.txt[2010/4/24 ...

  7. 模式对话框和非模式对话框的区别(出自MFC windows程序设计第二版p370)

    模式对话框和非模式对话框的区别:(出自<MFC windows程序设计>第二版p370) 1.显示模式对话框需要调用CDialog::DoModal,而显示无模式对话框则要调用CDialo ...

  8. C语言程序设计(第二版) 主编:余贞侠 何钰娟 课后习题 代码题答案

    C语言程序设计(第二版) 主编:余贞侠 何钰娟 (课后习题 代码题答案) ps.由于没有官方答案,博主将自己写的代码分享出来,若有错误之处请多多谅解,转载注明出处! 版权声明:本文为CSDN博主「Ra ...

  9. java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案 郞波 第二版 清华大学出版社...

    展开全部 我有 Java面向对象程序设计 清华大学出版社 (编著 耿祥义 张跃平) 习题解答 建议e69da5e887aa62616964757a686964616f31333330326632使用文 ...

  10. Javascript高级程序设计第二版第十一章--DOM2,DOM3--笔记

    今天跟诸位分享一下,高程,第二版,11章,dom2,dom3 纵观这一章,一个概念,dom在变,现在变,未来变,反正不断的变. 不过变来变去,ie是不支持dom2,dom3,可能未来新版本支持部分do ...

最新文章

  1. 计算机二级没过学校要重修吗,如果学校说计算机二级没过不给发学位证改怎么办...
  2. 【Python】编程笔记7
  3. 面象对象设计6大原则之二:开放封闭原则
  4. 阿里巴巴大数据实践—阿里巴巴的数据模型实践综述
  5. 【LeetCode】剑指 Offer 37. 序列化二叉树
  6. linux学习之路(1)
  7. 自己动手、丰衣足食!面试表
  8. JS----复制事件(文字选取)
  9. OpenCV二值化cvThreshold和自适应二值化cvAdaptiveThreshold及Otsu
  10. 遗传算法原理及代码讲解
  11. 9道微服务面试题,你能回答上来几个?
  12. U盘安装Linux系统
  13. 统信UOS系统连接Windows系统共享的打印机
  14. 重构于 Vite:我如何做 SSG、静态资源发布以及自动化部署
  15. SQL数据更新、视图
  16. java开发可视化界面_java 可视化界面编程
  17. 群晖服务器主板维修,没那么复杂 群晖DS213j内部拆解
  18. Android晋级之路
  19. 什么是Arduino?Arduino的起源与架构简述
  20. leetcode 组合总和(Java)

热门文章

  1. INPHO常见问题处理之新建新椭球定义
  2. Flink-Connectors(连接器)(2)Redis
  3. “看到同事 2 万块的笔记本,我认输了”:会说话,才是码农该有的自我修养...
  4. System Verilog 四值逻辑
  5. Spring依赖注入的接口为null
  6. TagScanner(MP3标签编辑批量更名)v6.0.11.0免费版
  7. 极致呈现系列之:Echarts旭日图的绚丽奇观
  8. 基于模型预测控制(自带的mpc模块)和最优控制理论的Carsim与Matlab/simulink联合仿真实现汽车主动避撞和跟车功能
  9. 电子技术——CMOS反相器
  10. 【建议收藏|熬夜爆肝】万字文带你了解DOM,文末有彩蛋嗷!!!!✨✨✨