zoukankan      html  css  js  c++  java
  • 20150122--接口

    package com.hanqi.computer;
    
    public interface ICpu {
        
        public void yunSuan();
        
        public String getPinpai();
        
        
    }
    ICpu
    package com.hanqi.computer;
    
    public class AMDCpu implements ICpu,IDisplay {
    
        @Override
        public void yunSuan() {
            
            System.out.println("我的运算速度也不错");
            
        }
    
        @Override
        public String getPinpai() {
            
            return "AMD";
        }
    
        @Override
        public void xianShi() {
            
            System.out.println("APU");
            
        }
    
    }
    AMDCpu
    package com.hanqi.computer;
    
    public class Computer {
        
        private ICpu cpu;
        private IDisplay display;
        
        
        public ICpu getCpu() {
            return cpu;
        }
        public void setCpu(ICpu cpu) {
            this.cpu = cpu;
        }
        public IDisplay getDisplay() {
            return display;
        }
        public void setDisplay(IDisplay display) {
            this.display = display;
        }
    
        
        public void run()
        {
            System.out.println("Cpu品牌 = " + cpu.getPinpai());
            System.out.println(" 显卡品牌 = " + display.getPinpai());
            
            cpu.yunSuan();
            
            display.xianShi();
        }
        
        
    }
    Computer
    package com.hanqi.computer;
    
    public interface IDisplay {
        
        public void xianShi();    //    public 可不写 默认
        
        public String getPinpai();
        
        
        
    }
    IDisplay
    package com.hanqi.computer;
    
    public class IntelCpu implements ICpu {
    
        @Override
        public void yunSuan() {
    
            System.out.println("我的运算速度很快");
            
        }
    
        @Override
        public String getPinpai() {
            
            return "Intel";
        }
    
    }
    IntelCpu
    package com.hanqi.computer;
    
    public class Ti960Display implements IDisplay {
    
        @Override
        public void xianShi() {
            
            System.out.println("显示图形");
    
        }
    
        @Override
        public String getPinpai() {
            
            return "英伟达";
        }
    
    }
    Ti960Display
    package com.hanqi.computer;
    
    public class ZuZhuang {
    
        public static void main(String[] args) {
            
            //组装一台电脑
            Computer c1 = new Computer();
            
            ICpu intel = new IntelCpu();
            
            c1.setCpu(intel);                    //有名对象
            c1.setDisplay(new Ti960Display());    //匿名对象
            
            c1.run();
    
            Computer c2 = new Computer();
            
    //        AMDCpu a = new AMDCpu();
            
            LongXin a = new LongXin2();
            
            c2.setCpu(a);
            c2.setDisplay(a);
            
            c2.run();
        }
    
    }
    ZuZhuang
    package com.hanqi.computer;
    
    public interface ICpuDisplay extends ICpu, IDisplay {
        
    }
    ICpuDisplay
    package com.hanqi.computer;
    
    public abstract class LongXin implements ICpuDisplay {
    
        @Override
        public void yunSuan() {
            
            System.out.println("可以运算了");
    
        }
    
        @Override
        public String getPinpai() {
            
            return "龙芯";
        }
    
        @Override
        public abstract void xianShi();            //定义一个抽象方法
    }
    LongXin
    package com.hanqi.computer;
    
    public class LongXin2 extends LongXin {
    
        @Override
        public void xianShi() {
            System.out.println("可以显示");
    
        }
    
    }
    LongXin2

  • 相关阅读:
    解决子元素浮动,父元素高度变小的问题
    解决子元素设置margintop,效果到父元素上的问题
    应用部署时自动推送企业微信提醒
    自定义Gradle Task实现一键批量部署Springboot应用
    springboot中@PostConstruct、CommandLineRunner、BeanPostProcessor执行顺序
    win7 关闭防火墙
    Android 4.1模拟器访问服务器接口
    Android开发教程 葵花宝典第一层 初识Android
    Android开发教程 葵花宝典第四层 控件之 Toast Spinner RadioButton
    Android开发教程 葵花宝典第三层 控件之 Button CheckBox EditText TextView
  • 原文地址:https://www.cnblogs.com/name-hanlin/p/5152442.html
Copyright © 2011-2022 走看看