面向对象程序设计语言C-第1章引论.ppt
《面向对象程序设计语言C-第1章引论.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计语言C-第1章引论.ppt(34页珍藏版)》请在三一办公上搜索。
1、面向对象程序设计语言C+,电子科技大学示范性软件学院,1,第一章 引论,1.1 面向对象的目标传统的程序设计方法是模块化(或结构化)的,具体步骤为:整个软件系统功能逐步细化为多个小的功能功能划分。多个小的功能对应由一个模块(如函数、过程、分程序、子程序等)来实现。多个模块合作完成较大的功能,所有模块的合作完成整个软件系统的功能。,2,第一章 引论,1.1 面向对象的目标对于传统的程序设计,在设计和实现(编程)阶段考虑的是模块,程序本身也是由模块构成的。下面我们由数据类型来引出面向对象的概念。,3,第一章 引论,1.1 面向对象的目标数据类型分为三种:简单数据类型:内建(built-in)类型,
2、语言本身提供的类型。用户定义数据类型:以简单数据类型为基础,它包含多个简单数据类型成分,这些数据成分是可以直接操作的。抽象数据类型:在定义数据的同时,必须定义对数据的操作;它的数据成分是不可见的,也不可以直接操作。,4,第一章 引论,1.1 面向对象的目标抽象数据类型是从更一般的信息隐蔽原则派生出来的。抽象数据类型隐藏了表示的细节,通过过程(或方法)来访问抽象数据对象。对象的表示是被保护的。对于抽象类型的使用,必须通过类型的实际例子(实例/实体,相当于变量或常量)的是用来体现。,5,第一章 引论,1.1 面向对象的目标面向对象语言中所谓的对象,就是上面提到的实体,具体的说,是“将某组数据和使用
3、该数据的一组基本操作封装在一起而形成的一个实体”。对象和抽象类型的关系,就像整型变量和整型的关系。,6,第一章 引论,1.1 面向对象的目标面向对象的基本思想就是把要构造的系统表示为对象的集合,它的目的是想在某种程度上解决软件面临的两大课题:怎样克服软件的复杂性怎样将现实世界模型(包括它们之间的关系)在计算机中自然地表示出来,7,第一章 引论,1.1 面向对象的目标从软件的角度来看,计算是一种仿真。如果每一个被仿真的实体都由一个数据结构来表示,并且将相关的操作信息封装进去,仿真将被简化,可以更方便地刻画对象的内部状态和运动规律。面向对象就是这样一种适用于直观模型化的设计方法。这意味着设计模型与
4、客观对象之间有近乎一对一的对应关系。这一思想非常利于实现大型的软件系统。,8,第一章 引论,1.1 面向对象的目标作为克服软件复杂性的手段,在面向对象的方法中,利用了如下对象的性质:将密切相关的数据和过程封装成为一个实体;定义了一个实体后,即使不知道此实体的功能是怎样实现的也能使用它。,9,第一章 引论,1.1 面向对象的目标面向对象设计非常注重设计方法。实际上,用面向对象方法编程的关键是模型化。程序员的责任是构造现实的软件模型。此时,计算机的观点是不重要的,而现实的观点才是关键。,10,第一章 引论,1.1 面向对象的目标面向对象的目标可以归纳为:对试图利用计算机进行问题求解和信息处理的领域
5、,尽量使用对象的概念,将问题空间中的现实模型映射到程序空间,由此所得到的自然性可望克服软件系统的复杂性,从而得到问题求解和信息处理的更高性能。,11,第一章 引论,1.2 面向对象语言的核心概念 数据封装 Data Encapsulation面向过程语言的做法,12,第一章 引论,1.2 面向对象语言的核心概念 数据封装 Data Encapsulation面向过程语言的做法:实例,13,第一章 引论,1.2 面向对象语言的核心概念 数据封装 Data Encapsulation面向对象语言的做法,14,第一章 引论,1.2 面向对象语言的核心概念 数据封装 Data Encapsulatio
6、n面向对象语言的做法:实例,15,第一章 引论,1.2 面向对象语言的核心概念 数据封装 Data Encapsulation面向对象语言采用了抽象的方法。而抽象的原则之一就是信息隐藏。数据封装将一组数据和这组数据相关的操作集合封装在一起,形成了一个能动的实体,成为对象。用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口访问对象。在C+中,实现数据封装的机制是“类(class)”。在Java和C#中,实现数据封装的机制也是“类(class)”。,16,第一章 引论,1.2 面向对象语言的核心概念 继承 Inheritance继承是面向对象语言的另一个重要的概念。在客观世界中,存在着
7、整体和部分的关系(is part of)、一般和特殊的关系(is kind of),而这两种关系也是初学者容易弄混淆的关系。,17,第一章 引论,1.2 面向对象语言的核心概念 继承 Inheritance让我们来看看现实世界中的例子:,Insect,18,第一章 引论,1.2 面向对象语言的核心概念 继承 Inheritance在一个的继承树中,每下一层都比上一层更加具体地定义了每种类的特性。反过来,一旦某层的某个特征被确定了下来,那么其下所有的种类都应该包含该特性。这就是“继承”的一般性概念。,19,第一章 引论,1.2 面向对象语言的核心概念 继承 Inheritance在面向对象的语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计语言 引论
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5010068.html