接口----應用

//筆記本電腦
/*鼠標的使用
class Mouse
{

}

public class InterfaceDemo3 {

    public static void main(String[] args) {
        useMouse(new Mouse());
    }
    public static void useMouse(Mouse m) {
        m.open();
    }
}
*/
//但是,之後市面上出現了新產品,出現攝像頭等等等等
//若如此代碼,通用性太差了。

interface USB//暴露的規則。
{
    public void open();
    public void close();
}
public class InterfaceDemo3 {

    public static void main(String[] args) {
        useUSB(new Upan());//功能擴展了。如果之後還要加功能,即
        useUSB(new usbMouse());
    }
    //使用規則。
    public static void useUSB(USB u)//接口類型的引用指向的都是子類的對象
    {
        u.open();
        u.close();
    }
}
//一年後,出現了U盤

//這些設備和電腦的耦合性降低了。

class Upan implements USB   //實現規則。
{
    public void open() {
        System.out.println("uPan is run");
    }
    public void close() {
        System.out.println("uPan is close");
    }
}

class usbMouse implements USB
{
    public void open() {
        System.out.println("usbMouse is run");
    }
    public void close() {
        System.out.println("usbMouse is close");
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章