1. 程式人生 > >CLR設計類型之接口(一)

CLR設計類型之接口(一)

定義 除法 文章 div 面向 display ron 意思 color

寫到這一節的時候,CLR設計類型就已經結束了,因為CLR要求的是有一定基礎的人看的,所以我們不是從基礎類型以及運算符開始的,文章從一開始就講的是深入面向對象編程,研究C#程序的設計模式。C#面向對象編程有三個特點:封裝,繼承,多態。接口的實現就是實現繼承

其實在開始之前說一下這兩天發生的事情,前幾天維護項目代碼時,雖然是自己寫得但是由於邏輯判斷比較多,有些變量名起的也不是很有意義,在看的時候就完全忘記當初為啥要寫成這樣了,也是有點汗顏,所以最近就把代碼整潔之道也放在了看書的目錄上,今後的示例代碼也會符合代碼整潔之道上的一些要求去寫。而不是用無意義的a,b,c去做為變量名。那麽接口要做的事,也是讓代碼更加簡潔的事情,接口定義了所有類繼承接口時應遵循的語法合同。接口定義了語法合同 "是什麽"

部分,派生類定義了語法合同 "怎麽做" 部分。接口定義了屬性、方法和事件,這些都是接口的成員。接口只包含了成員的聲明。成員的定義是派生類的責任。接口提供了派生類應遵循的標準結構。

說了這麽多,那麽我們用接口實現一個計算器的例子,通過這個例子來說明接口到底是如何定義,如何使用的。先看接口的定義:

技術分享
 1   interface ICalculator {
 2         //通常接口命令以 I 字母開頭,ICalculator 中文意思就是計算器接口
 3         //這個接口規定了一個計算器要有基本的加減乘除運算方法
 4         //加法
 5         int
Add(int x,int y); 6 //減法 7 int Reduce(int x, int y); 8 //乘法 9 int Ride(int x, int y); 10 //除法 11 int Except(int x, int y); 12 }
View Code

上面的代碼很簡單吧,在接口中不能聲明靜態方法,接口中的方法不能用可見性修飾符修飾,在來看這句話:接口定義了所有類繼承接口時應遵循的語法合同,也就是接口先規定好了我要實現那些方法和行為,繼承我的要實現(重寫)我的所有方法,並且返回值要和我相同,參數也要和我相同。否則就是違反了合同,語法就會報出錯誤。有了合同,類現在就像是一個建築包工頭,我只需要按照你的約定做,你讓我蓋十層樓,我就蓋十層樓。繼承接口類如下:

CLR設計類型之接口(一)