• 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手机在发短信

    对不起,类型为空!

  • 相关阅读:
    Laravel-RestfulAPI 资源控制器(全面详解)
    Laravel 支付宝SDK在Laravel5的封装
    Laravel 集成 阿里大于 短信接口
    Laravel --进阶篇 (单用户登录)
    Laravel LTS 分割 路由文件的最佳方式
    Laravel -- 实战篇 自制二维码 Simple QrCode
    Laravel 使用 Aliyun OSS 云存储
    Laravel 富文本插件-Ueditor
    Laravel 实战篇
    Laravel 微信开发组件-WeChat 微信支付
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131581.html
Copyright © 2020-2023  润新知