对UML类图的关系和图形的认识

有御姐儿看不懂UML类图和不会画一个UML类图。居士我今天来稍微讲解一下。
Paste_Image.png

UML类图的基本图示法
首先,看到一个UML类图,第一个反应就是一堆框,这些框意味着什么呢?有java基础的即时不懂UML类图应该也能猜出八九。不错,就是**类和接口**。
先来看类(Class),类图有三层,第一层为类名,用粗体表示,其中,对于抽象类而言,是用斜粗体显示(抽象方法也是斜体哦)。
实体类
public abstract class 动物 {
public String 羽毛 ="白羽毛";
    public boolean 有角质X没有牙齿= true;

    public void 下蛋() {
            ...
    }
}
抽象类
public abstract class 动物 {
    public boolean 有生命 = true;

    public void 新陈代谢(氧气 oxygen,水 water) {
            ...
    }
}
第二层是类的特性,也就是字段和属性。
第三层是类的操作,也就是方法。
注意事项:**"+"表示public,"-"表示private,"#"表示protected**
**接口**
接口
public interface 飞翔{
    void 飞();
}
接口大体样式与类图相似,但是,也有区别,主要是顶部有“《interface》”表示是接口,这个好懂的吧。

同理,第一层是接口名称,第二层是接口的方法。
注意事项:
接口还有一种表示方式:

棒棒糖表示法接口

public interface 唐老鸭{
    void 讲话();
}
第二步讲类图之间、类与接口之间等等之间的关系线
**继承**:用空心三角形+实线表示。
继承
public class  鸟 extends  动物 {
    ...
}
这个最好懂吧,鸟是动物的一种嘛。再讲个例子本居士(类)信的是佛,所以我也算是修佛者的一种(类)。
**实现接口**:用空心三角形+虚线表示。
实现接口
public class  大雁  implements 飞翔{
    ...
}
正常的大雁当然都会飞喽。再讲个例子本居士(类)是佛家人,所以我当然会念经(接口)啦。
**关联(association)**:用实线箭头表示
关联

企鹅和气候有关联,企鹅需要知道气候的变化。

public class  企鹅{
   private 气候 climate;
}
再讲个例子本居士(类)礼佛也是分时间的,所以我当然要知道礼佛的农历时间了(类)啦。
聚合和组合,是两种虽然都是拥有关系,但强度和性质不同。
**聚合**:用空心菱形+实线箭头来表示。
聚合

聚合是一种弱性拥有关系,即雁群包含了许多的大雁,但是对于大雁这个实体类而言,他并不是雁群的一部分。是一种分散的聚集到一起。
就像我是居士,是居士群体的一部分,但是世上居士那么多,我就是我,居士这个群体并不能代表我。

public class  雁群{
   private List<大雁> wideGooseList = new ArrayList<>();
}

组合:用实心菱形+实线箭头来表示。

组合

组合是一种强性拥有关系,即,翅膀对于鸟来说是身体的一部分,对正常的鸟而言,翅膀不可割舍。
注意:组合关系的两端,有“1”和“2”,这个叫做基数。表示了,一端的类可能有多个实例,比如:鸟有两只翅膀。如果有无数个实例,可用“n”来表示。关联和聚合关系两个也可以有基数。

public class  鸟{
   private 翅膀  wing;
public 鸟()
    {
        wing = new翅膀();
    }
}
也举个例子,就像本居士有头发,那么当我没头发了,那一定是我    死了,是的,一定是我死了。所以,我不是和尚啊。
**依赖**:用虚线表示
依赖

动物想生存,需要依赖氧气和水。

public abstrac class  动物{
public 动物(氧气 oxygen,水 water)
    {
        ...
    }
}
是不是,觉得我的解释有个毛用,看起来感觉好像每个都能互相套用。所以,还不如看着上面对应的代码的写法来理解。有时候代码确实还是比文字描述更好理解。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容

  • 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...
    雷雷_zll阅读 13,226评论 0 14
  • UML类图用来定义系统中的类,包括描述类的结构和类之间的关系。类图的主要作用于描述系统的静态结构。先看一张图(图片...
    Josaber阅读 6,070评论 0 5
  • 忘记了uml类图连线之间的关系,记录一下。 1. 关联关系 关联(Association)关系是类与类之间最常用的...
    cutieagain阅读 1,820评论 0 2
  • 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意...
    a2bfbb8a095f阅读 1,792评论 0 1
  • 提起特工,你能想到什么呢? 超群的双商,一步跨越围栏的大长腿,还是帅气且多金的特质? 小p推出了线上App“征文活...
    旁趣PUNCH阅读 292评论 0 0