统一建模语言(UML )是设计软件蓝图的视觉建模语言,是面向对象建模语言的国际标准。 其特点是简单、统一、图形化,能够在软件设计中表达动态和静态的信息。
类、接口、类图类(Class )是具有相同属性、方法和关系的对象的抽象,封装数据和行为,是面向对象编程(OOP )的基础,封装、封装在UML中,类包含类名、属性和操作,并由带分隔符的矩形表示。
类名(Name )是字符串。 例如,请注意Student ) java语言类名的命名约定
属性(Attribute )是类的特性,即类的成员变量。 UML以以下格式表示:
“可见性”属性名称:类型[=默认] eg.-name:String
注意:“可见性”表示公共(公共)、私有(受保护)、朋友)的四种属性对非类元素是否可见,在类图中分别用符号、-、#、~表示。
操作类的成员方法。 UML以以下格式表示:
“可见性”名称(参数列表([:返回类型] eg. display ) ) :void
照片。
“接口”(Interface )是一个特殊类,具有类的结构,但不能实例化。 只能通过子类实现。 包括抽象操作,但不包括属性。 描述类或组件从外部可见的行为。 在UML中,接口用命名的小圆表示。
图2是图形类接口的UMDL表示。
“类图”(ClassDiagram )是一个静态模型,显示系统中的类、接口、协作以及它们之间的静态结构和关系。 它主要用于描述软件系统的结构化设计,有助于简化人们对软件系统的理解。 它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
类图中的类可以直接用一种编程语言实现。 类图在软件系统开发的整个生命周期中是有效的,是面向对象系统建模中最常见的图。 下图是一个名为“计算矩形和圆形的周长和面积”的类图。 图形界面具有计算面积和周长的抽象方法,矩形和圆形实现这两种方法是为了访问类调用。
图“计算矩形和圆形的周长和面积”类图
在类与类关系软件系统中,类并不是孤立存在的,类与类之间存在着各种各样的关系。 按照类与类之间耦合度从弱到强的顺序,UML中的类图有以下几种关系:依赖关系、关系、聚合关系、组合关系、泛化关系和实现关系。 其中泛化和实现的结合度相等,它们最强。
依存关系(Dependency )关系是使用关系,它是对象之间结合度最弱的关联方式,是暂时的关联。
4个案例:
(1) a类是b类中)某个中方法的)局部变量;
) a类是b类方法中的一个参数;
) a类向b类发送消息,影响b类变化;
)4)静态方法调用
在UML类图中,依赖关系由带箭头的虚线表示,箭头从正在使用的类指向依赖关系的类。
下图是人与手机的关系图,人用手机语音传输方法打电话。
关联关系(Association )关系是用于表示一类对象与另一类对象之间的联系的对象(如老师和学生、师傅和徒弟、丈夫和妻子)之间的引用关系。 关联关系是类与类之间最常用的关系,可分为一般的关联关系、聚合关系和组合关系。 首先介绍一般的关联。
代码通常将一个类中的对象作为另一个类的成员变量实现相互关系
关联分为双向关联、单向关联、自我关联
双向关联-一般用直线表示。 例如,顾客购买并拥有商品,相反销售的商品总是与某个顾客相关联。
也可以这样表示
单向关联
自相关可以是系统中存在的类的属性对象类型是该类本身。 这种特殊的相关关系是自相关的,常见于链表。
聚合关系(Aggregation )关系是一种关联关系,是强关联关系,是整体与部分的关系,是has-a的关系。
聚合关系也是通过成员对象实现的。 其中,成员对象是整体对象的一部分,但成员对象可以独立于整体对象而存在。 例如,学校和老师的关系是,学校包括老师,但学校关闭的话,老师依然存在。
在UML类图中,聚合关系可以用空心菱形的实线表示,菱形是指整体。 图6是大学与教师的关系图。
图6聚合关系示例
组合关系(Composition )关系也是一种关联关系,即表示类之间的整体与部分的关系,但更强的聚合关系,即cxmtains-a关系。
在组件关系中,全局对象控制某些对象的生命周期,而全局对象不存在则某些对象也不存在
在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体。图 7 所示是头和嘴的关系图。
图7 组合关系的实例
泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。
在 UML 类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。在代码实现时,使用面向对象的继承机制来实现泛化关系。例如,Student 类和 Teacher 类都是 Person 类的子类,其类图如图 8 所示。
图8 泛化关系的实例
实现(Realization)关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。
在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口。例如,汽车和船实现了交通工具,其类图如图 9 所示。
一遍UML比较好的文章:https://zhuanlan.zhihu.com/p/158693052