• 结构型设计模式之外观模式


    3.1问题的解决方法

    package test;
    
    public class Problem2 {
    
        public static void main(String[] args) {
            // 结构型模式之外观模式
            SwitchFacade switchFacade=new SwitchFacade();
            switchFacade.onDn();
            switchFacade.offDn();
            switchFacade.onJxq();
            switchFacade.offJxq();
            switchFacade.onKt();
            switchFacade.offKt();
            switchFacade.onTyy();
            switchFacade.offTyy();
        }
    
    }
    //电器接口  子系统
    interface dq{
        public void on();
        public void off();
    }
    //电脑实体类
    class Dn implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("电脑开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("电脑关闭");
        }    
    }
    //集线器实体类
    class Jxq implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("集线器开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("集线器关闭");
        }    
    }
    //空调实体类
    class Kt implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("空调开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("空调关闭");
        }    
    }
    //投影仪实体类
    class Tyy implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("投影仪开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("投影仪关闭");
        }    
    }
    //外观 总系统
    class  SwitchFacade{
        Dn dn=null;
        Jxq jxq=null;
        Kt kt=null;
        Tyy tyy=null;
        public SwitchFacade() {
            dn=new Dn();
            jxq=new Jxq();
            kt=new Kt();
            tyy=new Tyy();        
        }
        //先打开集线器,后打开电脑 
        public void onDn() {        
            jxq.on();
            dn.on();
        }
        //先关闭电脑,后关闭集线器
        public void offDn() {
            jxq.off();
            dn.off();
        }
        
        public void onJxq() {
            jxq.on();
        }
        public void offJxq() {
            jxq.off();
        }
        
        public void onKt() {
            kt.on();
        }
        public void offKt() {
            kt.off();
        }
        
        public void onTyy() {
            tyy.on();
        }
        public void offTyy() {
            tyy.off();
        }
    }
    View Code
  • 相关阅读:
    Java图片裁剪
    jvm参数
    Druid数据源监控配置
    执行jar包或执行其中的某个类
    十进制和二进制之间的相互转化
    Java位运算
    获取网络资源保存本地
    前端PHP入门-010-内部函数
    前端PHP入门-011-可变函数
    前端PHP入门-009-匿名函数
  • 原文地址:https://www.cnblogs.com/zhaoyanhaoBlog/p/10033389.html
Copyright © 2020-2023  润新知