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();
    }
}
posted @ 2014-05-17 17:57  tinyphp  Views(299)  Comments(0Edit  收藏  举报