介面卡模式,其實主要就是通過繼承的方式,來保留原來的方法。
主要作用為:功能的擴充套件。
比如說:之前要在method方法中要儲存日誌,但是現在既要保留原來儲存日誌的功能,而且要新增加乙個功能,是在原有儲存日誌功能的擴充套件。
1. 類的介面卡主要是通過繼承的方式實現的。
即:不修改原有類,新寫乙個類,繼承原有類,然後在其中增加新方法,並且在新方法中呼叫之前的方法。實現功能的擴充套件。
示例**:
package mydemo.adapter.withclass;
public class person
}package mydemo.adapter.withclass;
public inte***ce xiaoming
package mydemo.adapter.withclass;
public class xiaomingimpl extends person implements xiaoming
}package mydemo.adapter.withclass;
public class demotest
}
2. 物件介面卡不是用繼承的方式來獲取被適配類的方法
而是通過獲取被適配類的物件的方式來獲取其方法的:
具體**如下:
package mydemo.adapter.withobject;
public class car
}package mydemo.adapter.withobject;
public class dazhong
public void run()
}
3.
其實介面介面卡可以說是多型的一種擴充套件。
介面的介面卡主要是通過繼承的方式來實現介面卡模式的:
步驟為:
1.由乙個抽象類實現介面的方法;
2.由介面卡的類來繼承抽象類,但是只重寫抽象類的部分方法(自己想要適配的方法)
這樣就可以實現介面介面卡模式;
具體**如下:
package mydemo.adapter.withinte***ce;
public inte***ce action
package mydemo.adapter.withinte***ce;
public abstract class abstractaction implements action
public void show2()
public void show3()
}package mydemo.adapter.withinte***ce;
public class adapteraction1 extends abstractaction
}package mydemo.adapter.withinte***ce;
public class adapteraction2 extends abstractaction
}//測試類
package mydemo.adapter.withinte***ce;
public class demotest
}
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...
介面卡模式 預設介面卡,類介面卡,物件介面卡
模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...