多型 面向介面的程式設計思想

2021-07-22 06:29:37 字數 1306 閱讀 3224

開發系統時,主體架構使用介面,介面構成系統的骨架 。這樣就可以通過更換介面的實現類來更換系統的實現。

教員和機構的相關資訊都需要列印,這種like-a關係,使用介面把二者共有的特性抽象出來,在這裡就是把要列印的資訊抽象成介面:

detail()方法是乙個抽象方法,預設可以不寫abstract關鍵字

inte***ce

iinfo

教員類初始化教員資訊,再實現iinfo方法

class

teacher

implements

iinfo

//實現介面iinfo的具體方法

public string detail()

}

學校類安裝印表機,列印資料,實現iinfo方法

class

school

implements

iinfo

//介面的引用變數可以引用它實現類的物件

//多型,程式設計的時候主體框架使用介面或抽象類,是程式又很好的擴充套件性

public

void print(iinfo info)

//實現介面iinfo的具體方法

public string detail()

}

各式印表機繼承了印表機類,所以印表機類的列印方法由具體的子類實現,這裡的print方法應該是乙個抽象方法,印表機類是乙個抽象類。

abstract class printer

public string getbrand()

public

abstract

print(string content);

}

印表機子類實現具體的列印方法:

//彩色印表機

class

colorprinter

extends

printer

public

void print(string content)

}class

blackprinter

extends

printer

public

void print(string content)

}

主方法new物件:印表機物件,學校物件,教員物件

public

class printerdemo

}

輸出結果

面向介面 的程式設計

前幾天 和乙個朋友討論是否需要面向介面的程式設計 我們倆的意見截然相反 我當然是主張要面介面,需求不是乙個程式設計師正真應該 關心的 他則用實際的開發中大部分人不重視或不用介面 來反駁,提倡面向需求來程式設計。蓋 乙個雞圈 我們不會畫藍圖,但是蓋一作大廈吶?乙個好的建築隊的關鍵是要按照設計圖的樣式,...

面向介面的程式設計

面向介面的程式設計,將介面與實現分離,可以極大的降低 的耦合,比如在程式設計中使用的加密介面,如果將具體的加密演算法寫入到使用加密的地方,這樣就會導致,下一次加密方法發生改變的時候會導致大量的地方需要修改。如果是面向介面的程式設計,那麼只會在具體實現 的地方進行重寫乙個加密類即可。對外提供統一的密碼...

Java 面向介面的程式設計

什麼是面向介面程式設計呢?我個人的定義是 在系統分析和架構中,分清層次和依賴關係,每個層次不是直接向其上層提供服務 即不是直接例項化在上層中 而是通過定義一組介面,僅向上層暴露其介面功能,上層對於下層僅僅是介面依賴,而不依賴具體類。這樣做的好處是顯而易見的,首先對系統靈活性大有好處。當下層需要改變時...