《设计模式》读懂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

=================================================================================

猜你喜欢

转载自www.cnblogs.com/abc8023/p/11104390.html