- 2
- 0
- 约3.8千字
- 约 24页
- 2019-10-13 发布于湖北
- 举报
第二章 面象对象的程序设计 2.1、对象和类 2.1、对象和类 2.1、对象和类 2.1、对象和类 2.1、对象和类 2.1、对象和类 2.1、对象和类 2.2、数据的抽象和封装 2.2、数据的抽象和封装 2.2、数据的抽象和封装 2.3、继承性 2.3、继承性 2.3、继承性 2.3、继承性 2.3、继承性 2.4、多态性 2.4、多态性 2.4、多态性 2.4、多态性 2.4、多态性 2.4、多态性 本章小结 思考与练习题 1、什么是程序设计,什么是编程语言,二者是什么关系? 2、结构化程序设计的思路是什么? 3、什么是面向对象程序设计? 4、为什么说C++是一种混合型编程语言? 5、请简述类与对象的概念。 6、类和对象之间的关系是什么? 7、面向对象中,对象的交互机制是什么? 8、面向对象的三大特性是什么? 9、请举例说明什么是对象中数据的抽象和封装。 10、请举例说明现实生活中继承的概念。 11、什么是多继承,举例说明。 12、继承会破坏数据的封装性吗? 13、什么是多态?多态有几种实现方法,分别是什么? 两层含义:1、去掉与目标无关的部分;2、对同性抽取,形成概念 体现了两个层次的抽象:1、放音与目标无关抽象掉,2、库房不仅有录音机,还有其他的物品,则形成更高层次概念 接口接受公有消息,对象内部接受私有消息 1、甚至继承来的代码也不能随便访问;2、封装后代码的修改限制在局部,因而减少代码量 对于(2),以输入函数为例说明,如果用多态,需要编写几个不同名称的函数,调用者也必须清楚不同函数的作用 * * 2.1、对象和类 2.2、数据的抽象和封装 2.3、继承性 2.4、多态性 1、为什么要引入对象和类 面向对象程序设计方法(OOP)的出发点是弥补面向过程程序设计方法中的缺点 数据的流动性 →分离 →不能直接反映客观 引入对象和类:将数据与方法紧密结合 数据不能流动 直接反映客观世界 保护数据不会被外界的函数意外的改变 2、对象和类的概念 对象是现实世界中一个实体 类是对多个实体进行综合抽象的结果 小红 小明 实例对象 学生类 类 3、对象的特征 对象的名字:用于区分不同的对象 对象的属性:是对实体某一方面的描述,反映 了实体间的区别 不同类的对象、同类的对象 对象的操作:是对象能够进行的行为 对象的例子 对象名称:小明 对象属性: 学历:大学 年龄: 21 专业:历史系 对象操作: 上课 吃饭 4、对象的交互 对象不是孤立的,他们之间存在着各种联系对象之间的相互交互是通过消息传递来进行的 例如银行帐户对象bankAccount、顾客对象: 顾客对象发送一个取款的消息,要求取款: 具体的做法是:在BankAccount中定义一个公有的方法——取款来供顾客对象调用。 这个取款的方法就是一个公有的消息 5、对象之间的消息 消息的性质: (1)同一对象可以接受不同形式的多个消息,作出不同的响应 (2)不同对象可以接受相同的消息,所作出的响应可以是不同的 (3)消息之间的发送可以不考虑具体的接受者,对象可以响应消息,也可以不响应 多态 5、对象之间的消息 消息的分类: (1)公有消息:由其他对象向自己直接发送的消息 (2)私有消息:由对象自己向自己发送的消息 1、数据的抽象 抽象是对特定的实例抽取共同性形成概念的过程,它是面向对象程序设计的一种基本思想 抽象是对象系统的简化描述和规范说明,它强调了系统中的一部分细节和特性,例如做什么;而忽略其他部分,例如如何做 举例:库房管理软件中对录音机进行抽象 属性:长、宽、高、生产厂家等行为:放音、录音、停止、倒带、快进等 其它对象无需关心录音机的放音是怎么实现的,这些是在类的实现中要考虑的。 2、数据的封装 就是将数据和对数据的操作组成一个实体,数据的表示方式和对数据的操作细节被隐藏起来,用户通过操作接口对数据进行操作 MakeDeposit() WithDraw() Transfer() 接口 顾客 Balance Owner MakeDeposit() WithDraw() Transfer() Account() 实现细节(对用户不可见) 数据 方法 1、继承性的概念 继承性是面向对象的基本特征,表达了对象类之间一般与特殊的关系,使类之间形成层次模型 基类 派生类 2、继承的好处 继承机制为程序员提供了一种组织,构造和重用类的基本手段 继承可以使基类的数据和操作可以被另一个类(派生类)重用,在派生类只需要描述基类中没有的数据和操作 3、继承的分类
原创力文档

文档评论(0)