面向对象设计思想.ppt

上传人:sccc 文档编号:5373049 上传时间:2023-06-30 格式:PPT 页数:41 大小:184.51KB
返回 下载 相关 举报
面向对象设计思想.ppt_第1页
第1页 / 共41页
面向对象设计思想.ppt_第2页
第2页 / 共41页
面向对象设计思想.ppt_第3页
第3页 / 共41页
面向对象设计思想.ppt_第4页
第4页 / 共41页
面向对象设计思想.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《面向对象设计思想.ppt》由会员分享,可在线阅读,更多相关《面向对象设计思想.ppt(41页珍藏版)》请在三一办公上搜索。

1、1,面向对象设计思想,2,主要内容,面向过程的设计方法面向对象的设计方法OOP的基本特点c+中的类,面向对象(OO)开发类与对象关系的图形标识(UML简介),3,结构化程序设计诞生于20世纪60年代结构化程序设计的基本思想是采用自顶向下,逐步求精的设计方法和单入口单出口的控制结构。结构化程序设计方法将解决问题的重点放在如何实现过程的细节方面,把数据和对数据的操作函数截然分开,以数据结构为核心,围绕着功能实现或操作流程来设计程序。,面向过程的设计方法(1/2),4,面向过程的设计方法(2/2),重点:如何实现细节过程,将数据与函数分开。形式:主模块+若干个子模块(main()+子函数)。特点:自

2、顶向下,逐步求精功能分解。缺点:效率低,程序的可重用性差。,5,面向对象的设计方法(1/4),目的:实现软件设计的产业化。观点:自然界是由实体(对象)所组成。程序设计方法:使用面向对象的观点来描述模仿并处理现实问题。要求:高度概括、分类、和抽象。,6,面向对象的设计方法(2/4),面向对象程序设计认为,现实世界是由一系列彼此相关并且能够互相通信的实体组成。实体对象对象的共性的抽象描述类一个公司的人员由它的全体员工组成,员工之间存在合作关系、上下级关系等工作关系,员工之间通过口头或书面语言进行交流和资源共享。员工对象员工组成了一类具有共性的人群本公司雇员,7,面向对象的设计方法(3/4),每个对

3、象都具有自己的属性和行为,整个程序是由一系列相互作用的对象构成的,对象之间的交互通过发送消息来实现。在一个公司里每个员工都有自己的姓名、编号、职务、薪资数额等属性(独一无二)对象的属性每一个人都有完成自己工作职责的能力对象的行为,8,面向对象的设计方法(4/4),用面向对象的观点和方法设计程序,属性和行为都被很好的封装在对象中,对数据的访问权限可以得到有效的控制。对象向外界提供必要的外部接口,而将实现的细节隐藏起来员工的特征属性只有本人通过合法途径进行修改,其他人无权修改。(公开)薪资数额在一定程度上是保密的,只有它的上级和财务部门的相关人员能够知道,其他人无权过问。,9,面向对象程序设计(O

4、OP)的基本特点,抽象封装继承与派生多态,10,抽象,抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。先注意问题的本质及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:通过类的声明。,11,抽象实例钟表,数据抽象:int Hour,int Minute,int Second代码抽象:SetTime(),ShowTime(),12,抽象实例钟表类,class Clock public:void SetTime(int NewH,int NewM,int NewS);

5、void ShowTime();private:int Hour,Minute,Second;,13,抽象实例人,数据抽象:char*name,char*gender,int age,int id代码抽象:生物属性角度:GetCloth(),Eat(),Step(),社会属性角度:Work(),Promote(),14,封装,将抽象出的数据成员、代码成员相结合,将它们视为一个整体。目的是曾强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。实现封装:类声明中的,15,封装,实例:class Clock public:void SetTime

6、(int NewH,int NewM,int NewS);void ShowTime();private:int Hour,Minute,Second;,特定的访问权限,16,继承与派生,对象之间是有联系的这是支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。轮船:客轮、货轮人类的遗传实现:声明派生类继承和派生:实现了代码的可扩充性和可重用性,17,多态性,多态:同一名称,不同的功能实现方式。目的:达到行为标识统一,减少程序中标识符的个数。实现:重载函数和虚函数两个例子打球(打篮球、打排球、打羽毛球)呼吸(一般动物的呼吸和鱼的吐泡泡的呼吸方式),18,c+中的类,类

7、是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。利用类可以实现数据的封装、隐藏、继承与派生。利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。,19,类的声明形式,类是一种用户自定义类型,声明形式:class 类名称 public:公有成员(外部接口)private:私有成员 protected:保护型成员,20,公有类型成员,在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。,21,私有类型成员,在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都

8、不能访问。如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。,22,保护类型,与private类似,其差别表现在继承与派生时对派生类的影响不同。,23,类的成员,class Clock public:void SetTime(int NewH,int NewM,int NewS);void ShowTime();private:int Hour,Minute,Second;,成员数据,成员函数,void Clock:SetTime(int NewH,int NewM,int NewS)Hour=NewH;Minute=NewM;Second=NewS;void Clock:S

9、howTime()coutHour:Minute:Second;,19,25,成员数据,与一般的变量声明相同,但需要将它放在类的声明体中。,26,成员函数,在类中说明原形,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。允许声明重载函数和带默认形参值的函数,27,对象,类的对象是该类的某一特定实体,即类类型的变量。声明形式:类名 对象名;例:Clock myClock;,28,类中成员的访问方式,类中成员互访直接使用成员名类外访问使用“对象名.成员名”方式访问 public 属性的成员,29,面向对象开发,一种以基于真实世界中以及程序中的抽

10、象为基础思考的软件方式。面向对象开发的本质是识别和组织应用领域中的概念;而不是以一种编程语言最终表示这些概念。好处:帮助规划人员、开发者和客户清晰地表达抽象的概念,并将这些概念互相传达。,30,三种模型,OO开发使用三种模型从不同的视角来描述系统类模型描述了系统内部对象及其关系的静态结构类图中的结点是类;弧表示类间的关系状态模型描述了对象随着时间发生变化的那些方面结点是状态,弧是由事件引发的状态间的转移交互模型描述系统中的对象如何协作以完成更为宽泛的任务用例:关注系统的功能顺序图:显示交互的对象以及发生交互的时间顺序活动图:描述重要的处理步骤,31,UML简介,UML语言是一种可视化的的面向对

11、象建模语言。UML有三个基本的部分事物(Things)UML中重要的组成部分,在模型中属于最静态的部分,代表概念上的或物理上的元素关系(Relationships)关系把事物紧密联系在一起图(Diagrams)图是很多有相互相关的事物的组,32,UML中有4种类型的事物,结构事物(Structural things)动作事物(Behavioral things)分组事物(Grouping things)注释事物(Annotational things),33,UML中的关系,依赖(Dependencies)关联(Association)泛化(generalization)实现(realuzat

12、ion),34,UML中的9种图,类图(class diagram)对象图(class diagram)用例图(Use case diagram)顺序图(Sequence diagram)协作图(Collaboration diagram)状态图(Statechart diagram)活动图(Activity diagram)组件图(Compomnent diagram)实施图(Deployment diagram),35,类图,举例:Clock类的完整表示Clock类的简洁表示,36,对象图,37,类与对象关系的图形标识,依赖关系图中的“类A”是源,“类B”是目标,表示“类A”使用了“类B”,或称“类A”依赖“类B”,38,类与对象关系的图形标识,作用关系关联图中的“重数A”决定了类B的每个对象与类A的多少个对象发生作用,同样“重数B”决定了类A的每个对象与类B的多少个对象发生作用。,39,类与对象关系的图形标识,包含关系聚集和组合,聚集表示类之间的关系是整体与部分的关系,“包含”、“组成”、“分为部分”等都是聚集关系。,40,类与对象关系的图形标识,继承关系泛化,41,注释,在UML图形上,注释表示为带有褶角的矩形,然后用虚线连接到UML的其他元素上,它是一种用于在图中附加文字注释的机制。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号