《设计模式》读懂UML类图
一、类中的主要关系
继承、实现、组合、聚合、依赖、关联
二、UML类图

三、代码实现
public class H2O {
}
public class O2 {
}
public interface Animal {
    public boolean life=false;//是否有生命
    public void eat(H2O h2o,O2 o2);//水和氧气 --依赖
}
public class Dog implements Animal { //--实现
    @Override
    public void eat(H2O h2o, O2 o2) {
        System.out.println("Bird:eat");
    }
}
public class Bird implements Animal { //--实现
    public Wing wing; //翅膀--组合
    public Bird(Wing wing){
        this.wing=wing;
    }
    @Override
    public void eat(H2O h2o, O2 o2) {
        System.out.println("Bird:eat");
    }
    public void layEggs(){
        System.out.println("Bird:layeggs");
    }
}
public class Wing {
    private String size;
    private String color;//0 black 1 red 2 white
    public Wing(String size,String color){
        this.size=size;
        this.color=color;
    }
}
public class Goose extends Bird{ //--继承
    public Goose(Wing wing) {
        super(wing);
    }
    public void layEggs(){
        System.out.println("Bird:layeggs");
    }
}
public class Penguin extends Bird{//--继承
    //企鹅的生存和天气关系很大 --关联
    private  Climate climate;
    public Penguin(Wing wing) {
        super(wing);
    }
    public void layEggs(){
        System.out.println("Bird:layeggs");
    }
}
public class Climate {
}
public class GooseGroup {
    private List<Goose> gooseList; //--聚合
    public void vFly(){
        System.out.println("GooseGroup:vFly");
    }
    public void straightFly(){
        System.out.println("GooseGroup:straightFly");
    }
}
=================================================================================
原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。
本文转发自程序媛说事儿,原文链接https://www.cnblogs.com/abc8023/p/10910741.html
=================================================================================
《设计模式》读懂UML类图的更多相关文章
- 五分钟读懂UML类图
		
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
 - 五分钟读懂UML类图(转)
		
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
 - 五分钟读懂UML类图(转)
		
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
 - 读懂UML类图
		
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
 - 看懂UML类图与时序图
		
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
 - 设计模式学习起点 UML类图笔记
		
UML类图笔记 大学开设的软件设计课程一般都会学习UML类图,大部分关于设计模式的描述都是使用的UML类图,可以说类图的表示是学习设计模式的起点.UML定义类之间的关系主要有六种:泛化关系.实现关系. ...
 - 看懂UML类图和时序图
		
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
 - [转] 看懂UML类图和时序图
		
PS: 组合关系:实心,一个类A属于另一个类,或多个类,但是类A不能单独存在去使用,A一般是一种抽象的东西 聚合关系:空心,一个类A可以单独存在使用 不论组合聚合,A的方法都会被直接调用. 看懂UML ...
 - 【转】学习设计模式之前你必须掌握的-看懂UML类图
		
UML类图是UML(unified modeling language,标准建模语言)五种图示法中静态图的一种-用来描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系如关联.依赖.聚合等,也 ...
 
随机推荐
- 【转】JAVA接口自动化测试之一个测试方法对应多条测试数据的实现方式
			
一.痛点:一条测试数据对应一个测试方法 前面的章节中我们已经写代码实现了登录接口的处理调用,但是一个接口往往是需要多条测试用例才能完整的覆盖到每一种情况. 针对于单接口多条测试用例需要执行的情况,该如 ...
 - pace.js[转载]
			
pace.js监控了什么: pace.js对于加载进度监控了什么呢?通过阅读源码,我们看到整体的进度有四个部分组成:document,elements,eventLag和ajax这四种监视器(Moni ...
 - 201671010436 王雪刚 实验十四 团队项目评审&课程学习总结
			
一:实验名称:团队项目评审&课程学习总结 二:实验目的与要求 (1)掌握软件项目评审会流程: (2)反思总结课程学习内容. 三:实验步骤 任务一:按照团队项目结对评审名单,由项目组扮演乙方,结 ...
 - PL/SQL Developer 快捷键
			
前面我有分享了一个PLSQL美化规则,其实通过统一的美化SQL,把这里SQL写在Java代码里可以比较容易阅读代码,且保持良好得编码风格. 在工作中我们也经常使用PLSQL来写一SQL,有些常用的SQ ...
 - 在IAR平台建立STC8ASK64S4A12单片机工程
			
转载:http://www.51hei.com/bbs/forum.php?mod=viewthread&tid=168481&page=1#pid737250 一般我们使用STC单 ...
 - idea启动项目连接mysql数据库后台报duplicate name异常
			
自己写的sql语句在MySQL数据库中运行是没有问题的 但是在使用idea启动项目的时候,后台在运行这行sql语句的时候居然报错了,duplicate name:重复的名字,最后自己经过思考,修改了一 ...
 - 函数式编程—函数的关系—is-a、has-a、use-a
			
is-a:函数的实现与函数类型的关系: has-a:匿名(闭包)函数的创建者与匿名函数的关系:匿名函数与环境和上下文(函数)的关系: use-a:高阶函数与参量函数的关系: 函数式编程的基本功之一就是 ...
 - 2018宁夏邀请赛 L. Continuous Intervals
			
转化一下询问即为区间$max - min + 1 = cnt$,其中$cnt$表示区间内数的种类数. 即求有多少区间$max - min - cnt=-1$,注意到任意区间的$max-min-cnt ...
 - 关于绿盟RSAS使用时遇到的问题
			
本周在使用绿盟RSAS扫描工具时遇到了一些问题: 一.扫描工具在家测试可以正常工作,到了现场设置正确但Web端页面打不开: 二.扫描器可以正常进行扫描,并且成功扫描出结果,但显示目标主机没有问题: 原 ...
 - shell for 循环演示
			
test.sh #!/bin/bash for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script&qu ...