第2讲 面向对象技术概述.ppt
文本预览下载声明
《面向对象技术与Visual C++》--第1章 第2讲 面向对象技术概述 本章主要内容 面向对象技术的基本概念 面向对象技术的基本特征 三种常用面向对象程序设计语言简介 C++对面向对象技术的支持 Visual C++的发展 面向对象技术的基本概念 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。 面向对象程序设计从所处理的数据入手,以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。 面向对象程序的主要结构特点 第一,程序一般由类的定义和类的使用两部分组成,在主程序中由类实例化对象,定义各对象并规定它们之间传递消息的规律; 第二,程序中的一切操作都是通过向对象发送消息来实现的,对象接到消息后,启动有关函数完成相应的操作。 对象的概念(一) 面向对象技术认为客观世界是由各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同对象间的相互作用和联系就构成了各种不同的系统,构成了客观世界。 对象是组成一个系统的基本逻辑单元,是一个有组织形式的含有信息的实体。 对象既可以表示一个抽象的概念,也可以表示一个具体的模块。 对象是所研究和描述的事物,可以是具体的也可以是抽象的。例如,一套地层、一片土地、一个区域是对象,一个工厂、一个车间、一个生产组也是对象。面向对象方法以对象作为最基本的元素,它将软件系统看成是各种的对象的集合。面向对象方法分析问题解决问题的核心就是对象的分析和描述。 对象的概念(二) 对象(Object)由属性(Attribute)和行为(Action)两部分组成。 属性是用来描述对象静态特征的一个数据项。 行为是用来描述对象动态特征和行为的一个操作。 对象是包含客观世界物体特征的抽象实体,是属性和行为的封装体。 类的确定(一) 类(Class)是具有相同属性和行为的一组对象的集合; 类为属于它的全部对象提供了统一的抽象描述; 类的内部包括属性和行为两个主要部分; 类是对象集合的再抽象。 划分原则:寻求一个大系统中事物的共性,将具有共性的系统成分确定为一个类。 类是具有一致数据结构和行为的对象的归纳和抽象,例如,“矿产”、“土地”、“资源”和“环境”等都是类。每个类都是个体对象的可能的无限集合,而每个对象都是其相应类的一个实例。类反映了与对象的应用有关的重要性质,而忽略了其它一些与应用无关的内容。任何类的划分都是主观的,但都必须与具体的应用有关。类中的每一个实例均有各自的属性值,它们的属性字段和操作方法是相同的。 类的确定(二) 确定某事物是一个类的步骤包括: 第一步,要判断该事物是否有一个以上的实例,如果有,则它是一个类; 第二步,要判断类的实例中有没有绝对的不同点,如果没有,则它是一个类。因为类的每一个实例是相似的,具有相同属性和行为类别结构。 不 是简单把一组函数组合在一起就构成类 ! 消息和事件 消息(Message)是描述事件发生的信息。消息是对象之间发出的行为请求。 多个消息构成一个事件。 封装使对象成为一个相对独立的实体,而消息机制为它们提供了一个相互间动态联系的途径,使它们的行为能互相配合,构成一个有机的运行系统。 面向对象技术的基本特征 抽象性 抽象就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征。 封装性 封装就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 继承性 继承是一种联结类与类的层次模型。继承性是指派生类的对象拥有其基类的属性和行为的特性。 多态性 (虚函数和重载) 多态是指类中同一函数名对应多个具有相似功能的不同函数。多态性是指可以使用相同的调用方式来调用这些具有不同功能的同名函数的特性。 1) 抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解问题的全部,而只是选择其中的一个部分,比如,我们要编写一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高,体重等信息。抽象是程序设计必须的步骤,抽象使得类的描述清晰、简单、便于设计实现。抽象就是把客观世界中的一类对象用面向对象程序语言中的类描述的过程。 2) 封装 封装是类的另外一个重要特性。封装是把描述类的特征的数据和描述类的行为的函数包围起来,形成一个独立的抽象数据类型——类。函数作为与外界交互的界面。对数据的访问一般通过一组经过定义的函数界面。客观世界中的对象本身就是具有封装性,比如,老虎的特征(体重、身长、体温)和虎的行为(跑、跳等行为)是一体的。它们共同形成了一个具体的虎,因此面向对象程序设计语言中的用来描述客观世界中的对象的类也应该
显示全部