面向对象的概念.pptx
面向对象的概念面向对象的开发过程面向对象分析与模型化面向对象设计UML面向对象分析与设计面向对象程序的实现与测试面向对象技术12
面向对象的概念开发模式什么是面向对象对象类消息继承
开发模式(Paradigm)开发模式又称为范型、范例、风范或模式(Pattern)。开发模式定义了特定问题和应用的开发过程中将遵循的步骤;确定将用于表示问题和解的那些成分的类型;利用这些成分表示与问题解决有关的抽象;直接得到问题的结构。
开发模式的选择影响到整个软件开发生存期。就是说,它支配了设计方法编码语言测试和检验技术01的选择01
面向过程开发模式产生过程的抽象。01这些抽象的基础是把软件视为处理流,并定义成由一系列步骤构成的算法。02每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。03面向过程开发模式
1过程性开发模式侧重建立构成问题解决的处理流。2数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。3系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。面向过程开发模式的特点
Initializesystem;Createanddrawinterface;whileQUITnotselecteddocascreateshapestructure;readmousemovementsfordata;storenewlycreatedshapeonlistofshaperecords;Mouseevent:ifkey=qthenexitloop;elseignore;KeyPressevent:refreshdisplaybydrawingeachshapestructure;Shutdownsystem;Ecposeevent:
STEP2STEP1在面向过程开发模式中优先考虑的是过程抽象,在面向对象开发模式中优先考虑的是实体(问题论域的对象)。在面向对象开发模式中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。面向对象开发模式
面向对象系统中的对象是数据抽象与过程抽象的综合。01系统的状态保存在各个数据抽象的所定义的数据存储中。02控制流包含在各个数据抽象中的操作内。03在面向对象体系结构。消息从一个对象传送到另一个对象。算法被分布到各种实体中。04面向对象开发模式的特点
面向过程的;逻辑的;面向存取的;函数型的;面向对象的;说明性的。面向进程的;目前流行多种开发模式,它们提供了许多方法,可进行系统分解。其它流行的开发模式
01每个开发模式都有它的支持者和用户;02每个开发模式都特别适合于某种类型的问题或子问题;03每一个开发模式都用不同的方式考虑问题;04每一个开发模式都使用不同的方法来分解问题;05每一个开发模式都导致不同种类的块、过程、产生规则。
在大型系统的开发中,很难说哪种开发模式对整个问题的解决最好。01系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。02这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持不只一种设计开发模式。03混合开发模式
一个智能数据分析系统的设计,可把它看做是4个子系统。系统有一个数据库界面,可以使用面向存取的方法进行设计;智能数据分析用逻辑性的开发模式设计;一组分析算法是过程性的;用户界面是用面向对象开发模式设计出来的。0304050102
Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。020103什么是面向对象
面向对象的特点抽象性:对象的数据抽象和行为抽象;封装性:信息隐蔽(两个视图);共享性:同一类中所有实例共享数据结构和行为特征;同一应用中所有实例通过继承共享数据结构和行为特征;不同应用中所有实例通过复用共享数据结构和行为特征
对象是面向对象开发模式的基本成份。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。对象(object)
外部实体:与系统交换信息的外部设备、相关子系统、操作员或用户等;需要记忆的事件:系统执行过程中产生并需要记忆的事件,如单击鼠标,击打键盘等;信息结构:问