首页 > 代码库 > 设计模式之装饰者模式InJava
设计模式之装饰者模式InJava
需求:定义一个操作系统OS接口,安装Windows10操作系统,在上面安装虚拟机VMWare,虚拟机里装Linux;
然后在Linux中安装虚拟机VMware,再在虚拟机里安装MacOS操作系统。
实现:
1. 定义一个接口OS:
package DecoratorMode;public interface OS { public void start();}
2. Windows10操作系统:
package DecoratorMode;public class WindowsOS implements OS { public void start() { System.out.println("windows10 启动....."); }}
3. Linux操作系统:
package DecoratorMode;public class LinuxOS implements OS { private OS os;//被装饰者 public LinuxOS(){ } public LinuxOS(OS os){ this.os = os; } public void start() { os.start(); System.out.println("Windows 的 VMWare 启动....."); System.out.println("Linux 启动....."); }}
4. Mac OS操作系统:
package DecoratorMode;public class MacOS implements OS{ private OS os; public MacOS(){ } public MacOS(OS os){ this.os = os; } public void start() { os.start(); System.out.println("Linux 的 VMWare 启动....."); System.out.println("Mac OS 启动....."); }}
5. 最后,在main函数中调用:
package DecoratorMode;public class DecoratorDemo { public static void main(String[] args) { OS osWin = new WindowsOS(); osWin.start(); System.out.println("----------------------------------"); OS osLinux = new LinuxOS(osWin); osLinux.start(); System.out.println("----------------------------------"); OS osMac = new MacOS(osLinux); osMac.start(); }}
效果:
windows10 启动.....
----------------------------------
windows10 启动.....
Windows 的 VMWare 启动.....
Linux 启动.....
----------------------------------
windows10 启动.....
Windows 的 VMWare 启动.....
Linux 启动.....
Linux 的 VMWare 启动.....
Mac OS 启动.....
设计模式之装饰者模式InJava
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。