计算机软件技术基础第三章.ppt
《计算机软件技术基础第三章.ppt》由会员分享,可在线阅读,更多相关《计算机软件技术基础第三章.ppt(46页珍藏版)》请在三一办公上搜索。
1、第三章 面向对象的程序设计方法,1.面向对象技术2.面向对象方法中的基本概念3.什么是面向对象程序设计4.VB的面向对象方法,本章要求:,1,3.1 面向对象技术,定义:面向对象技术是强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。基本特征主要有抽象性、封装性、继承性和多态性。面向对象技术是软件工程中最为流行的软件系统分析与设计的方法。VB类库中封装了大量的可视控件,并为其设计了各自的属性和方法。,2,基本特征,(1)抽象性(Abstract)就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目
2、标有关的本质特征。从而找出事物的共性,并把具有共性的事物划为一类,得到一个抽象的概念。例如,在设计一个学生成绩管理系统的过程中,考察学生张华这个对象时,就只关心他的班级、学号、成绩等,而忽略他的身高、体重等信息。抽象性是对事物的抽象概括描述,实现了客观世界向计算机世界的转化。将客观事物抽象成对象及类是是面向对象方法的第一步。,3,3.1 面向对象技术,(2)封装性(Encapsulation)就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。封装有两个含义:一是把对象的全部属性和行为结合在一起,形成一个不可分割的独立单位。对象的属性值(除了公有的属性值)只能由这个对象的行
3、为来读取和修改;二是尽可能隐蔽对象的内部细节,对外形成一道屏障,与外部的联系只能通过外部接口实现。,4,基本特征,3.1 面向对象技术,(3)继承性(Inheritance)是一种联结类与类的层次模型。继承性是指特殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即特殊类中不必重新定义已在一般类中定义过的属性和行为,而它却自动地、隐含地拥有其一般类的属性与行为。继承允许和鼓励类的重用,提供了一种明确表述共性的方法;继承下来的属性和行为是隐式的;继承是传递的。,5,基本特征,3.1 面向对象技术,(4)多态性(Polymorphism)是指类中同一函数名对应多个具有相似功能的不同函数
4、,可以使用相同的调用方式来调用这些具有不同功能的同名函数。继承性和多态性的结合,可以生成一系列虽类似但独一无二的对象。由于多态性,针对相同的消息,不同对象可以有独特的表现方式,实现特性化的设计。,6,基本特征,3.1 面向对象技术,3.2 面向对象方法中的基本概念,对象类对象与类的关系消息和方法,7,对象的广义定义,什么是对象(object)?现实世界中的任何一个事物都可以看成是一个对象。,自然的实体:一个人,一辆汽车,一个教师,逻辑结构:一个银行帐号,一个学生的学籍档案,客户通信录,对象,8,3.2 面向对象方法中的基本概念,对象是人们要研究的任何事物,其特性是:(1)每一个对象必须有一个名
5、字以区别于其它对象;(2)用属性(或叫状态)来描述它的某些特征;(3)有一组操作,每一个操作决定对象的一种行为。/这是关于对象的广义定义,对象,9,对象的广义定义,3.2 面向对象方法中的基本概念,对象是基本的运行实体,它既包含数据(属性),也包括作用于数据的操作(行为);一个对象把属性和行为封装成一个整体;对象是数据和对数据的操作的结合体;从程序设计者来看,对象是一个程序模块;从用户来看,对象为他们提供了所希望的行为。,对象,10,面向对象系统中的对象,3.2 面向对象方法中的基本概念,人 类果 类鱼 类类定义了一个大体上相似的对象,具有共同属性特征和行为特征。,类,11,类的概念,3.2
6、面向对象方法中的基本概念,“类”是对具有共同属性特征和行为特征一个或多个对象的抽象描述。把一组对象的共同特性加以抽象并存储在一个类中的能力,是面向对象技术最重要的手段。,类,12,3.2 面向对象方法中的基本概念,什么是类(class)?,手机类手机的基本功能是一致的。属功能相同的一类商品。类的属性:品牌,颜色、外形尺寸功能相同:拨打电话、接听电话、收发短信等。,能否照相,类,13,3.2 面向对象方法中的基本概念,类的形象表示,Class Studentint number;String name;float score;Public Student(int number1,String n
7、ame1)number=number1;name=name1;Public void getScore(float score1)score=score1;print();,属性,操作,类,14,3.2 面向对象方法中的基本概念,OOP中类的例子,类是对一组性质相同的对象的抽象描述,是对一组数据和方法的封装。对象则是类的具体化,是类的实例。可以这样定义对象:对象是类的一个实例,包括了数据和过程。,类,实例,对象=实例类,实例化,=,对象与类的关系,15,3.2 面向对象方法中的基本概念,对象与类的关系,(1)消息 Message,消息是要求某个对象执行其中某个功能操作的规格说明。OOP中的一条
8、消息由消息选择器(“消息操作”或“消息名”)及若干个参数和接受消息的对象三部分组成。例如:student1.modify(score1),消息和方法,16,3.2 面向对象方法中的基本概念,消息和方法,消息的例子,接受消息的对象 参数 student1.modify(score1);消息名,消息和方法,17,(1)消息 Message,3.2 面向对象方法中的基本概念,消息和方法,“方法”对应于对象的行为(能力),即它是实现对象所具有的功能操作的代码段。在VB程序中,方法即是窗体中定义的过程、函数,它是该类所能执行的操作的算法实现。通常每个类中包含多个方法(C+中称为成员函数),每个方法由方法
9、名(函数名+参数表)和说明该成员函数的算法实现的一段代码所组成。,消息和方法,18,3.2 面向对象方法中的基本概念,消息和方法,(2)方法(method),3.3 什么是面向对象程序设计,3.3.1 结构化程序设计方法3.3.2 面向对象程序设计方法,19,结构化程序设计的基本思想,按功能划分模块,分而治之。分解系统时按照自顶向下的顺序,逐步求精。设计时使各模块间的关系尽可能简单,功能上相对独立,从而可单独验证模块的正确性。,20,3.3 什么是面向对象程序设计,3.3.1 结构化程序设计方法,21,结构化程序的组成,3.3 什么是面向对象程序设计,3.3.1 结构化程序设计方法,把数据结构
10、和处理数据的操作过程分离为相互独立的实体。用数据表达实际问题中的信息;程序代码则实现用于处理加工这些数据的算法。简而言之,就是数据和操作代码分离。,22,结构化程序设计方法的基本特点,3.3 什么是面向对象程序设计,3.3.1 结构化程序设计方法,给程序员增加了负担:必须确保数据和代码匹配。当数据结构改变时,所有相关的处理过程都要进行相应的修改,可维护性低。即使要对不同的数据格式(结构和类型)作同样的处理计算,也必须编写不同名的过程程序,可重用性不好。,23,数据和操作代码分离 产生的问题,3.3 什么是面向对象程序设计,3.3.1 结构化程序设计方法,用面向对象程序设计语言中的对象和类直接模
11、拟现实世界中的对象,将问题空间直接映射到软件空间。便于设计出尽可能直接、自然地表示问题求解方法的软件。面向对象的这种思维方式符合人类的自然思维习惯,使我们能够在程序中自然地描述现实世界的实体和问题,增强了程序代码的可读性,有利于控制软件的复杂性。,24,3.3 什么是面向对象程序设计,3.3.2 面向对象程序设计方法,模块化,将一个复杂的大规模软件系统划分成几个规模较小、相对简单的模块,即分而治之。面向对象程序设计方法是按对象来划分。面向对象的软件系统由对象组成,对象之间通过消息传递互相联系。,25,3.3 什么是面向对象程序设计,3.3.2 面向对象程序设计方法,面向对象的软件系统的组成,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 技术 基础 第三

链接地址:https://www.31ppt.com/p-6059842.html