zoukankan      html  css  js  c++  java
  • java面向接口编程之制定标准和简单工厂模式

    制定一个标准,让别人去实现或者说满足它!

    Eg:

    interface USB{//定义USB标准

        void useUSB();//USB有使用USB的行为

    }

    简单工厂模式

    构建一个工厂出来,在里面进行生产,用的时候直接拿

     

    我的总结:

    好处:屏蔽不同子类实现的差异,提高代码的可拓展性和可维护性;

     

     

    package reviewDemo;

    //简单工厂模式

    interface Phone{//制定标准,都要实现send()方法

        public void send();

    }

    class Iphone implements Phone{

        @Override

        public void send() {

            System.out.println("Iphone手机在发短信");

        }

    }

    class AndroidPhone implements Phone{

        @Override

        public void send() {

            System.out.println("AndroidPhone手机在发短信");

        }

    }

    class MyPhone implements Phone{

        @Override

        public void send() {

            System.out.println("MyPhone手机在发短信");

        }

    }

    class Factory{

        public static void show(String type){//传入参数,根据不同的类型个性化定制

            if(type.equals("")){//为空的情况,不用往下执行

                System.out.println("对不起,类型为空!,请重新输入!");

                return;

            }

            Phone p = null;

            if("Iphone".equals(type)){//判断类型

                p = new Iphone();

            }else if("AndroidPhone".equals(type)){

                p = new AndroidPhone();

            }else{

                p = new MyPhone();

            }

            p.send();

        }

    }

    public class FactoryDemo17 {

        public static void main(String[] args) {

           

            new Factory().show("Iphone");//调用方法

            new Factory().show("AndroidPhone");

            new Factory().show("MyPhone");

            new Factory().show("YourPhone");

            new Factory().show("");

        }

    }

     

    输出:

    Iphone手机在发短信

    AndroidPhone手机在发短信

    MyPhone手机在发短信

    MyPhone手机在发短信

    对不起,类型为空!

  • 相关阅读:
    vue-if,vue-show,vue-for指令
    vue计算属性与监听器
    vue属性绑定和双向数据绑定
    C#将JSON文本转换成HttpResponseMessage数据行
    C#数据表(DataTable)转键值对集合
    C# .ToString()格式大全
    C#图片动画效果(旋转360度)异步
    C#利用鼠标绘图
    C#模拟键盘键操作
    C#显示和隐藏鼠标
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131581.html
Copyright © 2011-2022 走看看