面向对象分析与设计全解析
1. 继承的特性与利弊
继承是面向对象编程中的一个重要特性。例如,优先队列是队列的一种更具体的形式,它具备队列的所有属性和操作,同时还引入了部分队列元素比其他元素更重要的概念。在 Java 中,这一特性被称为继承;而在 UML 里,则被叫做泛化。
继承具有诸多优点:
- 它是一种抽象机制,可用于对实体进行分类。
- 它在设计和编程层面都是一种重用机制。
- 继承图是关于领域和系统的组织知识来源。
然而,继承也存在一些问题:
- 它会使对象类变得不独立,若不参考超类,就难以理解子类。
- 继承会引入复杂性,这在关键系统中尤为不利。
- 继承通常允许操作符(在 Java 中为方法)重载,这可能带来好处(多态性),也可能带来坏处(屏蔽超类中的有用方法)。
2. 面向对象编程的优缺点
面向对象编程(OOP)有不少优点,比如更易于维护,因为对象可以被看作独立的实体。此外,对象也适合作为可重用的组件。但对于某些问题,可能无法将现实世界的对象映射到系统对象,这意味着 OOP 并非适用于所有问题。
3. 面向对象分析与设计过程
面向对象分析(OOA)、设计(OOD)和编程(OOP)相互关联但又有所不同。
- 面向对象分析(OOA) :主要关注开发应用领域的对象模型。具体步骤包括获取问题陈述,生成一组特性和(可能的)用例,梳理出满足用例所需的对象和对象内的一些方法,并构建解决方案的架构。
- 面向对象设计(OOD) :致力于开发满足
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



