2008年8月6日 星期三

物件導向概念-Interfact介面-讀書會

我對Interface的了解:
就他字面上的意思介面,他只是有一個形,沒有一個體
在網路上看到大家對他的討論,大概都是跟類別有關係,
就我的了解來說,我把Interface想像成一個“仲介“,
他在介紹“類別跟程式碼認識”,
類別->介面->程式碼,當你看到介面時,他可以很大聲的說,
我認識一個程式碼,他是在做把字串轉成數字的,但他只有認識
他自己不會做,所以你還需要那個把字串轉成數字的程式碼,
你需要實作他才能達成這個類別的功能



我為什麼需要Interface:
就上一段的了解,我們知道可以介面可以幫助類別跟程式碼認識,
但是,就目前.NET的用法,我們可以用繼承的方式,去讓類別有實質的功能,
並不需要再透過一層介面的關係,去讓類別認識程式碼,感覺更複雜,
在“你搞懂抽象類別別與介面了嗎?(二)”,這篇文章裡,在比較抽象類別跟介面的關係中,他特別舉出了,介面的一個特色:
1. 介面強調的是定義一些功能給較不相干的類別使用,抽象類別主要是應用在關係密切(is a)的類別中使用。
2. 抽象類別一定屬於繼承架構,而且一定是父類別,介面可以讓毫無關係的類別來實作同一個介面,這點同時也呼應了第三點的說明。

這樣看,還是有點不懂,在他的說明裡有說到,
由架構設計的觀念來說,使用抽象類別一定與繼承有關係,但一個客戶端類別程式只能存在一個繼承關係,然而一個客戶端的類別程式卻可以實作多個不同的介面,因此經常有人使用介面來解決多重繼承的問題
醬子有說服你,為什麼需要使用Interface了嗎?

沒有留言: