zoukankan      html  css  js  c++  java
  • java:接口实例

    接口:打印机接口

    interface Printer
    {
        public void read();
    }

    函数一:佳能打印机

    class CanPrinter implements Printer
    {
        public void read(){
            System.out.println("Canread");
        };
    }

    函数二:惠普打印机

    class HPPrinter implements Printer
    {
        public void read(){
            System.out.println("HPread");
        };
    }

    主函数:

    class Test
    {
        public static void main(String args[]){
            int flag=0;
            Printer p = null;
            if(flag==0){
                p = new HPPrinter();
            }else{
                p = new CanPrinter();
            }
        
            p.read();
        }
    }

    得出:HPread

    二次整合

    接口、函数一、二不变,增加判断flag的类,方便修改

    class PrinterFactory
    {
        Printer getPrinter(int flag){        //定义类型为Printer
            Printer p = null;
            if(flag==0){
                p = new HPPrinter();
            }else if(flag==1){
                p = new CanPrinter();
            }
            return p;    //返回对象
        }
    }

    主函数:

    class Test
    {
        public static void main(String args[]){
            int flag=0;
            PrinterFactory f = new PrinterFactory();
            Printer printer = f.getPrinter(flag);
            printer.read();
        }
    }
  • 相关阅读:
    C++类中的函数重载
    C++中的友元
    bzoj 2820
    莫比乌斯函数
    bzoj 2440: [中山市选2011]完全平方数
    莫比乌斯反演1
    [转]C++ 指针和引用
    P2756 飞行员配对方案问题
    P2055 [ZJOI2009]假期的宿舍
    P2654 原核生物培养
  • 原文地址:https://www.cnblogs.com/tinyphp/p/3732941.html
Copyright © 2011-2022 走看看