《基于模型的软件开发》——3.2 继承

简介:

本节书摘来自华章计算机《基于模型的软件开发》一书中的第3章,第3.2节,作者:[美]H. S.莱曼(H. S. Lahman)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 继承

如果你觉得泛化非常简单,那么你一定会很喜欢继承。继承是OO概念中最简单的一个,同时也是分析得最多的一个。简单是因为继承仅仅是用于解决泛化中对象属性问题的一组规则。实际上,在MBD中,它是单个非常简单的规则,我们之前已经提到过:
叶子子类中对象成员的属性是该叶子子类属性和与该叶子子类在直线上相关的每一个超类所具有的属性的并集。
就是这样了,这并不是一个需要动脑筋的概念,认识到类是对象的集合,它就是一个显而易见的概念。我们使用维恩图中同样的方式来解决子集的属性问题,在OO范式中,将其重命名为继承技术。
泛化、继承和多态是三个完全不同的概念。
将继承作为泛化和多态的代名词来进行讨论会带来很多困惑。不久我们将会看到,多态的一种特定形式是通过泛化与继承的结合来完成的。如果在头脑中能将这些特性分开,那么范式将会变得更加直观。

相关文章
|
25天前
|
存储 编译器 数据安全/隐私保护
【软件设计师备考 专题 】面向对象开发方法:理解类、对象和封装
【软件设计师备考 专题 】面向对象开发方法:理解类、对象和封装
51 0
|
20天前
|
设计模式 缓存 安全
探索设计模式的魅力:从单一继承到组合模式-软件设计的演变与未来
组合模式:构建灵活树形结构的艺术。 组合模式旨在解决如何将对象组合成树形结构,隐藏具体实现,使客户端对单个对象和复合对象的使用具有一致性。通过将对象组合成树形结构,组合模式提供了层次化的结构,使系统更灵活、可扩展。 核心思想在于统一叶节点和组合节点。叶节点代表具体的对象,而组合节点则是其他对象的容器。该设计允许我们以统一的方式处理叶子和组合,简化了许多操作。实践中,组合模式适用于具有树形结构并且希望保持结构灵活的系统。它不仅提高了代码的可重用性和可维护性,还使得添加新功能变得简单,无需修改现有代码。...
40 0
|
1月前
|
设计模式 C++
53继承在软件开发中的重要意义
53继承在软件开发中的重要意义
14 0
|
4月前
|
设计模式 存储 自然语言处理
Java面向对象设计七大原则
Java面向对象设计七大原则
70 0
|
10月前
|
C#
【C#本质论 八】类-从设计的角度去认知(多态)
【C#本质论 八】类-从设计的角度去认知(多态)
49 0
|
10月前
《重构2》第十二章-继承
《重构2》第十二章-继承
91 0
|
11月前
|
Java 关系型数据库
java面向对象设计的五大原则
java面向对象设计的五大原则
|
12月前
|
C++
【C++综合设计题】多层继承和抽象基类的综合应用
【C++综合设计题】多层继承和抽象基类的综合应用
|
架构师 安全 NoSQL
多态对一个软件架构师的重要性
面试经常会被问到的题目之一,面向对象的三大特征是什么?多态则是三大特征之一,个人认为三大特征中最为重要的,另外的两大特征是封装和继承。 为什么说多态对软件架构师非常重要,对系统软件非常重要呢?举个例子,当软件面向一个客户的时候,你会发现软件写得很简单,很快就能满足其需求。随着时间的推移,软件面向的不再是一个客户。每个客户提出的需求千差万别,尤其当出现针对性的、个性化的需求。软件的迭代、升级会变得相对困难,拓展功能变得困难。
577 0
多态对一个软件架构师的重要性