首先假設乙個場景,比如我們是賣手機的,如果顧客來了挑選手機,需要乙個個拿不同型號的手機去演示功能
為了簡便,我們可以製作乙個介面,在介面一端連線手機,另一端控制演示手機的各個功能
手機都有發簡訊、打**兩個基本功能,我們可以將介面設定為這兩個功能
public inte***ce cellphone
下面的一般手機都可以使用這個介面
public class nokia implements cellphone
@override
public void sms(long number, string content)
}
public class blackberry implements cellphone
@override
public void sms(long number, string content)
}
iphone上還可以玩玩遊戲
public class iphone implements cellphone
@override
public void sms(long num, string content)
public void play()
}
那麼,我們在操作的時候就可以通過介面來演示手機功能
cellphone cell = new nokia();
cell.phone(250);
這時,顧客還希望我們演示一下山寨機,可是介面不匹配,怎麼辦,我們需要製作乙個介面卡來轉換一下
public class shanzhaiji
public void faduanxin()
}
public class shanzhaiadapter implements cellphone
@override
public void phone(long num)
@override
public void sms(long num, string content)
}
通過介面轉換,我們也可以演示山寨機了
shanzhaiadapter adapter = new shanzhaiadapter(new shanzhaiji());
adapter.phone(0);
java面向介面程式設計
介面本質上就是由制定者來協調實現者和呼叫者之間的關係。所以通常說的 面向介面程式設計 可以理解為 只有實現者和呼叫者都遵循 面向介面程式設計 這個準則,制定者的協調目的才能達到。乙個老生常談的例子就是jdbc。很多人費解 既然我每連線一種資料庫 如mysql 都要事先部署驅動程式,那我直接訪問驅動程...
java面向介面程式設計
介面本質上就是由制定者來協調實現者和呼叫者之間的關係。所以通常說的 面向介面程式設計 可以理解為 只有實現者和呼叫者都遵循 面向介面程式設計 這個準則,制定者的協調目的才能達到。乙個老生常談的例子就是jdbc。很多人費解 既然我每連線一種資料庫 如mysql 都要事先部署驅動程式,那我直接訪問驅動程...
多型 面向介面的程式設計思想
開發系統時,主體架構使用介面,介面構成系統的骨架 這樣就可以通過更換介面的實現類來更換系統的實現。教員和機構的相關資訊都需要列印,這種like a關係,使用介面把二者共有的特性抽象出來,在這裡就是把要列印的資訊抽象成介面 detail 方法是乙個抽象方法,預設可以不寫abstract關鍵字 inte...