美文网首页
学习UML1--OOP与类关系

学习UML1--OOP与类关系

作者: yangzai | 来源:发表于2018-01-28 21:15 被阅读9次

学习UML首先要了解面向对象的主要特征以及对象之间的关系。

  • OOP(面向对象)主要特征:

    • 抽象:强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。
    • 封装:隐藏数据和实现,提供公共的方法供用户调用。
    • 继承:继承是指一个对象直接使用另一对象的属性和方法


      image.png
    • 多态:接口的多种不同的实现方式即为多态。也可以理解为同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
  • 类之间的关系:

    • 继承:子类自动共享父类数据结构和方法的机制。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。


      image.png
    • 实现(Realization):是一种类与接口的关系,表示类是接口所有特征和行为的实现.


      image.png

      实现与继承统称为泛化关系(Generalization)

    • 关联(Association):对于两个相对独立的对象,当一个对象与另一个对象有种某种对应关系,这两个对象之间为关联关系。


      image.png
    • 聚合(Aggregation):聚合关系是关联关系的一种,是强的关联关系,聚合是关联关系的一种,耦合度比关联关系强,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是平等关系,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。


      image.png
    • 组合(Composition):组合关系是关联关系的一种,是比聚合关系还要强的关系,类和类之间的关系是“整体-部分”的关系,整体和部分具有相同的生命周期,部分不能脱离整体而独立存在。


      image.png
    • 依赖(Dependency):是一种使用的关系,即一个类的实现需要另一个类的协助.


      image.png
    • 各种关系的强弱顺序:
       泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
    • 还有一些概念,内聚与耦合:
      内聚:指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
      所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
      耦合:一个软件结构内不同模块之间互连程度的度量。
      对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

下面这张UML图,比较形象地展示了各种类图关系:

image.png

相关文章

  • 学习UML1--OOP与类关系

    学习UML首先要了解面向对象的主要特征以及对象之间的关系。 OOP(面向对象)主要特征:抽象:强调实体的本质、内在...

  • 类与类,类与接口以及接口与接口的关系

    觉得他们的关系好复杂,快看晕了,没关系,我们逐个学习 类与类:继承关系,只能单继承,可以多层继承。 类与接口:实现...

  • UML类图

    UML类图帮助我们标明类之间的关系,而在学习UML类图之前,得先理清类与类之间的关系。类的关系有泛化(Genera...

  • SpringData分析

    学习ORM思想启发 1 建立实体类与表中的关系 2 建立实体类中属性和表中字段关系 学习ORM思想 2.1 orm...

  • 类关系

    六种关系继承与实现关系:类B继承类A或者接口A,就称为继承与实现关系。依赖关系:类B独立模型,类A中方法用到类B,...

  • 类图,对象图,时序图

    1.类图 1.类与类之间的关系: 在绘制类图前,先熟悉类与类之间的关系。面向对象语言中类与类之间关系共计六种,分别...

  • 使用StarUml绘图概括

    1.类与类之间的关系: 在绘制类图前,先熟悉类与类之间的关系。面向对象语言中类与类之间关系共计六种,分别是继承、实...

  • 技术问 - 类与类,接口与接口,类与接口各自之间的关系

    类与类,接口与接口,类与接口各自之间的关系:

  • 面向对象设计第一篇

    类与类之间的关系 1纵向关系;继承:父与子的关系——extends实现:类对接口的实现——implements 2...

  • C++面向对象高级编程_第三周

    类与类之间的关系 组合 composition has-a 关系, 继承 inheritance is-a 关系 ...

网友评论

      本文标题:学习UML1--OOP与类关系

      本文链接:https://www.haomeiwen.com/subject/fcbaaxtx.html