面向对象设计:多态性在System Analysis & Design中的应用

需积分: 33 3 下载量 32 浏览量 更新于2024-08-20 收藏 3.65MB PPT 举报
在"多态性的表现-System Analysis and Design(系统分析与设计)_04.01"中,本文探讨了面向对象技术在系统分析与设计中的应用,特别是在软件开发方法论上的转变。传统的软件工程方法如结构化分析与设计(SA+SD+SP)因其结构化过程设计的局限性,在面对用户需求变化时面临软件重用性差、可维护性低等问题。相比之下,面向对象方法学(OOA+OOD+OOP)强调以自然、人类思维方式来分析和设计系统,通过类(class)、对象(object)、关联(association)和聚集(aggregation)等概念,提高了软件的灵活性、复用性和维护性。 1. 面向对象方法的优势:OOSD(面向对象系统分析与设计)允许开发者模拟现实世界的逻辑,使得软件更易于理解和维护。它通过对象的抽象和封装,减少了对过程的依赖,从而更好地适应需求变化。 2. 类和对象的概念:类是对象的蓝图,定义了一组共享属性和行为。对象则是类的实例,拥有其自身的状态和行为。类和对象的使用体现了面向对象的核心理念,即万物皆对象,相似特征的对象被归类到同一个类中。 3. 面向对象软件工程:OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)阶段,构建的程序基于类和对象的组织结构,这有助于提高软件的可扩展性和可重用性。 4. 类与关联:类之间的关联可以是单向或多向,反映现实中对象之间的交互关系。关联的多重性指一个类的对象可以关联到另一个类的不同数量的对象,如一个教师可以关联到多个学生。 5. 类的使用:在编程中,类不仅用于分类,还是创建对象的模板。通过`classTree`这样的例子,我们可以看到类在代码中的实际应用,它指导对象的实例化和组织。 6. 面向对象的灵活性:多态性是面向对象的重要特性,它允许同一种行为在不同的上下文中表现出不同的形式,增强了系统的灵活性。例如,不同的工厂类(如StarFactory、PentacleFactory等)都可能实现`build()`方法,但具体行为根据所创建的对象类型而变化。 总结来说,这篇文章深入剖析了面向对象技术如何通过类、对象和关联的概念改善系统分析与设计,以及在实际开发中的应用,特别是强调了多态性在解决复杂问题和提高软件质量方面的价值。