• 写一个单态设计模式、一个工厂设计模式、代理设计模式


    单态:

    package TKaoShi;

    public class DanTaiPerson {
      private static DanTaiPerson dtp;
      private String name;
      private char sex;

      private DanTaiPerson(){

      }

      private DanTaiPerson(String name,char sex){
        this.name=name;
        this.sex=sex;
      }

      public static DanTaiPerson diaoYong(){
        dtp=new DanTaiPerson("luchangyin", '男');
        return dtp;
      }

      public void printDanTaiPerson(){
        System.out.println("姓名:"+name+" 性别:"+sex);
      }
    }

    package TKaoShi;

    public class DanTaiMain {

      public static void main(String[] args) {
        // TODO Auto-generated method stub
        DanTaiPerson dp =DanTaiPerson.diaoYong();
        dp.printDanTaiPerson();
      }

    }


    工厂设计:

    package TKaoShi;

    public abstract class Computer {

      public abstract String nameComputer();

    }

    package TKaoShi;

    public class DestTopComputer extends Computer {

      @Override
      public String nameComputer() {
        // TODO Auto-generated method stub
        return "这是一个台式电脑";
      }

    }

    package TKaoShi;

    public class TopComputer extends Computer{

      public TopComputer(){

      }

      @Override
      public String nameComputer() {
        // TODO Auto-generated method stub
        return "这是一个笔记本";
      }

    }


    package TKaoShi;

    public class Factory {
      public static Computer getComputer(String name){
        if(name==null||"".equals(name))
          return null;
        else if(name.equals("TomComputer"))
          return new TopComputer();
        else if(name.equals("DestTopComputer"))
          return new DestTopComputer();
        return null;
      }

      public static Computer getTopComputer(){
        return new TopComputer();
      }

      public static Computer getDeTopConputer(){
        return new DestTopComputer();
      }

    }

    package TKaoShi;

    public class TestComputerMain {

      public static void main(String[] args) {
        // TODO Auto-generated method stub
        Factory fa=new Factory();

        TopComputer tc=(TopComputer) fa.getTopComputer();
        System.out.println(tc.nameComputer());
        DestTopComputer dc=(DestTopComputer)fa.getDeTopConputer();
        System.out.println(dc.nameComputer());
        System.out.println("-----------------");

        TopComputer c=(TopComputer) fa.getComputer("TomComputer");
        System.out.println(c.nameComputer());

        DestTopComputer d=(DestTopComputer)fa.getComputer("DestTopComputer");
        System.out.println(d.nameComputer());

      }

    }


    代理设计:
    package TKaoShi;

    public interface Internet {
      public abstract void lianWang();
      public abstract void shangWang();
      public abstract void duanWang();
    }

    package TKaoShi;

    public class WangGuan implements Internet {

      @Override
      public void lianWang() {
        // TODO Auto-generated method stub
        System.out.println("已经联网了!");
      }

      @Override
      public void shangWang() {
        // TODO Auto-generated method stub
        System.out.println("现在可以上网了!");
      }

      @Override
      public void duanWang() {
        // TODO Auto-generated method stub
        System.out.println("大家注意了,准备要断网咯!");
      }

    }

    package TKaoShi;

    public class WangMin implements Internet{
      private WangGuan wg;
      public void setWang(WangGuan wg){
        this.wg=wg;
      }

      @Override
      public void lianWang() {
        // TODO Auto-generated method stub
        wg.lianWang();
      }

      @Override
      public void shangWang() {
        // TODO Auto-generated method stub
        wg.shangWang();
      }

      @Override
      public void duanWang() {
        // TODO Auto-generated method stub
        wg.duanWang();
      }


    }

    package TKaoShi;

    public class TestInternetMain {

      public static void main(String[] args) {
        // TODO Auto-generated method stub
        WangGuan wg=new WangGuan();
        WangMin wm=new WangMin();
        wm.setWang(wg);
        wm.lianWang();
        wm.shangWang();
        wm.duanWang();
      }

    }

  • 相关阅读:
    后台src-app.js详情
    后台中src-router-index.js文件详情
    VUE:如何设置当前页面的背景色
    web移动端项目初始化
    vue路由懒加载及组件懒加载
    浏览器内核
    java 文件读取
    [SUCTF 2019]EasySQL
    Hctf 2016 兵者多诡
    less-17
  • 原文地址:https://www.cnblogs.com/changyinlu/p/4693878.html
Copyright © 2020-2023  润新知