程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中的interface、virtual和abstract,

C#中的interface、virtual和abstract,

編輯:C#入門知識

C#中的interface、virtual和abstract,


Abstract:

abstract方法必須在abstarct類中聲明,沒有默認實現,子類必須實現。

Virtual:

virtual方法可以聲明在abstract類中,也可以聲明在非abstarct類中,並且可以有默認實現。

三、Interface(接口)

接口的一些描述

1. 接口是一個引用類型,通過接口可以實現多重繼承。
2. C#中接口不能有new、public、protected、internal、private等修飾符。
3. 接口中只能聲明"抽象"成員(所以不能直接下一步對接口進行實例化(即不能使用new操作符聲明一個接口的實例對 象)),而不能聲明共有的域或者私有的成員變量。
4. 接口聲明不包括數據成員,只能包含方法、屬性、事件、索引等成員。
5. 接口成員的訪問級別是默認的(默認為public),所以在聲明時不能再為接口成員指定除public外的任何訪問修飾符,否則 編譯器會報錯。
6. 接口成員不能有static、abstract、override、virtual修飾符,使用new修飾符不會報錯,但會給出警告說不需要關鍵字new。
7. 在聲明接口成員的時候,不准為接口成員編寫具體的可執行代碼,也就是說,只要在對接口進行聲明時指明接口的成員名稱和參數就可以了。
8. 接口一旦被繼承,子類需要把接口中所有成員實例化(通過具體的可執行代碼實現接口抽象成員的操作)。

(百度百科:http://baike.baidu.com/link?url=UlmCxkt6O7lqmGK4IdM5CmzwhK3nnEQmA3dCkh9I6-noq3GfVv-chDLIo3QMQYPlEo3Vv8PK8J2e9OidgP8Sta)

接口的意義

1. 接口一個比較常用的用法是聲明一組行為方法,這組行為方法可以有不同的實現和多個實現,而使用這組行為的類也只關心行為的聲明。簡單說就是定義了交互的契約。

2. 面向接口編程,容易對應用系統進行分層,不同層次之間使用接口進行交互。這有以下好處:層次職責清晰;容易做UT;容易解耦(DI,IoC)。

3. 可以實現多重繼承。

 


c語言中符號<<是什

左移運算符(<<)

將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。

例:a = a << 2 將a的二進制位左移2位,右補0,

左移1位後a = a * 2;

若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。
右移運算符(>>)

將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。

操作數每右移一位,相當於該數除以2。

例如:a = a >> 2 將a的二進制位右移2位,

左補0 or 補1 得看被移數是正還是負。
 

c語言中符號<<是什

左移運算符(<<)

將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。

例:a = a << 2 將a的二進制位左移2位,右補0,

左移1位後a = a * 2;

若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。
右移運算符(>>)

將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。

操作數每右移一位,相當於該數除以2。

例如:a = a >> 2 將a的二進制位右移2位,

左補0 or 補1 得看被移數是正還是負。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved