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

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

  • 相关阅读:
    616无趣
    安装elasticsearch的问题
    导出PDF数据
    生活本苦,奈何年华
    分享一个sql查询重复记录
    springboot的java打印票据-4
    springboot的java打印票据-3
    springboot的java打印票据-2
    react 学习笔记
    原生可拖动表格
  • 原文地址:https://www.cnblogs.com/abc8023/p/11104390.html
Copyright © 2020-2023  润新知