《面向对象方法引论课件》由会员分享,可在线阅读,更多相关《面向对象方法引论课件(47页珍藏版)》请在金锄头文库上搜索。
1、面向对象方法,软件工程(Software Engineering),Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,主要内容,传统方法学的缺点 软件工程的新途径 基本概念 面向对象建模 对象模型 动态模型,前一页,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011
2、 Aspose Pty Ltd.,传统方法学的缺点,前一页,生命周期方法学是一个巨大的进步,对实现软件开发工程化曾经起了重要的促进作用,部分地缓解了软件危机。 实践表明,传统的生命周期方法并不能完全消除软件危机。生命周期方法学仍然有许多不足之处,对某些类型的软件开发,这种方法学比较适用,对另一些类型的软件则可能完全不适用。近年来软件工程的新途径快速原形法和面向对象方法学,已经进入实用阶段,应用得越来越广泛。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 200
3、4-2011 Aspose Pty Ltd.,前一页,软件工程的新途径,为克服传统方法的缺点,人们在实践中逐渐创造出 “面向对象方法”等软件工程的新途径 。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学要点,(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。按照这种观点,可以认为整个世界就是一个最复杂的对象。因此
4、,面向对象的软件是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象的组合而成。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学要点,(2)把所有对象都划分成各种对象类(Class,简称为类),每个对象类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,按照类中对数据的定义为这个新对象生成
5、一组专用的数据,以便描述该对象独特的属性值。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学要点,(3)按照子类(派生类)与父类(基类)的关系,把若干个对象类组成一个层次结构的系统(类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(Inheritance)。如果在派生类中对某些特性又做了重新描述,则在派生类中的这
6、些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学要点,(4)对象彼此之间仅能通过传递消息互相联系, 对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作。相反,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。即一切局部于该对象的私有信息
7、,都被封装在该对象的定义中,这就是“封装性”。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学要点,面向对象的方法学可以用下列方程表示: OO=Objects+Classes+Inheritance+ Communication with messages,Evaluation only. Created with Aspose.Slides for .NET 3.5
8、Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,面向对象方法学优点,(1)与人类习惯的思维方法一致。 (2)稳定性比较好。 (3)可重用性好。 (4)可维护性好。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,两种新途径的结合,1.传统的瀑布模型 在开发时期内没有或很少有需求变化 对应用
9、领域很熟悉 低风险项目(例如,对目标和开发环境很熟悉) 除了在早期阶段,用户对开发工作参与很少 要求使用面向过程的编程语言,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,两种新途径的结合,2.螺旋模型 在项目开发的早期需求可能有变化 对应用领域较熟悉 中等风险项目 (例如,对项目和开发环境较熟悉) 用户不同程度地参与整个项目的开发过程 使用面向对象语言,Evaluation only
10、. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,软件工程的新途径,前一页,两种新途径的结合,3.渐增模型 在整个开发过程中需求都可能有变化 对应用领域不熟悉 高风险项目 用户完全参与到整个开发过程中 使用面向对象语言,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty L
11、td.,基本概念,对象 其他概念,主要内容,前一页,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,前一页,基本概念,对象的定义,对象是具有相同状态的一组操作的集合。,对象的形象表示,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd
12、.,前一页,基本概念,对象的特点,以数据为中心,操作围绕对其数据需要的处理来设置,不设置与这些数据无关的操作,而且操作的结果往往与当时所处的状态有关。 对象是主动的,是进行处理的主体。为了完成某个操作,不能从外部直接加工它的私有数据,而是必须通过它的公有接口向对象发消息,请求执行它的某个操作,处理它的私有数据。 实现了数据封装,私有数据完全被封装在盒子内部,对外是隐藏,不可见的,对私有数据的访问或处理只能通过公有的操作进行。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copy
13、right 2004-2011 Aspose Pty Ltd.,前一页,基本概念,对象的特点,本质上具有并行性,对象是描述其内部状态的数据及可以对这些数据施加的全部操作的集合。不同对象各自独立地处理自身的数据,彼此通过发消息传递信息完成通信。 模块独立性好。由于完成对象功能所需要的元素基本上都被封装在对象内部,它与外界的联系自然就比较少,因此对象之间的耦合必然比较松。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Lt
14、d.,前一页,基本概念,其他概念,1. 类(Class) 面向对象的软件技术中,“类”就是对具有相同数据和相同操作的一组对象的定义。也就是说,类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,前一页,基本概念,其他概念,2. 实例(Instance) 实例就是由某个特定的类所描述的一个具体的对象。实际上类是建立对
15、象时使用的“样板”,按照这个样板所建立的每个具体的对象,就是类的实际例子,通常称为实例。 当使用“对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,但是,当使用“实例”这个术语时,必然是指一个具体的对象。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,前一页,基本概念,其他概念,3. 消息(Message) 消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。,Evaluat
16、ion only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,前一页,基本概念,其他概念,4. 方法(Method) 方法,就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。在C+语言中把方法称为成员函数。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,前一页,基本概念,其他概念,5. 属性(Attribute) 属性,就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。 例如,Circle类中定义的代表圆心坐标,半径,颜色等的数据成员,就是圆的属性。,Evaluation only. Created with Aspose.S