通用和继承之间的区别与适当的例子。 OOAD

时间:2016-12-04 16:29:28

标签: object-oriented-analysis ooad

关于泛化和继承的研究让我感到困惑,两者都给出了相同的含义,就好像某些东西被继承了......但是无法弄清楚实际的差异。

2 个答案:

答案 0 :(得分:5)

泛化是我们用来表示在UML中将公共属性抽象为基类的术语。

当我们在编程语言中实现泛化时,它被称为继承

因此,泛化和继承是相同的,术语只是根据使用它的上下文而有所不同。

答案 1 :(得分:0)

泛化/特化关系是在具有继承的面向对象编程语言中实现的。

某种形式的泛化

  1. 层次结构:在层次结构的情况下,共性被组织成树形结构形式。在任何子树的根部都找到了该根的所有后代共有的所有属性和行为。

  2. 通用性在这种情况下,通用性可以通过参数表示。各种特殊化通过它们为参数提供的内容来区分。例如,使用通用性可以表示"堆栈的共同属性"通过对任何事物的堆叠的概括",其中"任何"代表参数。

  3. 多态性:多态性捕捉算法的共性。多态性允许将嵌套逻辑(或case语句)折叠为单个案例,其中以统一的方式处理不同的对象类型。

  4. 模式:模式表示常见设计问题的一般解决方案(关键组件和关系)。各个组件的属性和行为仅部分定义,以允许模式被解释并应用于各种情况。