C 列舉 類 多型 介面

2021-08-01 10:59:32 字數 2682 閱讀 2365

列舉

enum  day ;

int weekdaystart=(int)day.mon;類

物件是類的例項。構成類的方法和變數成為類的成員

。 當你定義乙個類時,你定義了乙個資料型別的藍圖。這實際上並沒有定義任何的資料,

但它定義了類的名稱意味著什麼,也就是說,類的物件由什麼組成及在這個物件上可執行什麼操作。

類的成員函式是乙個在類定義中有它的定義或原型的函式,就像其他變數一樣。作為類的乙個成員,它

能在類的任何物件上操作

,且能訪問該物件的類的

所有成員。

成員變數是物件的屬性(從設計角度),且它們保持私有來實現封裝。這些變數只能使用公共成員函式來訪問。

當我們宣告乙個類成員為靜態時,意味著無論有多少個類的物件被建立,只會有乙個該靜態成員的副本。

關鍵字static意味著類中只有乙個該成員的例項。靜態變數用於定義常量,因為它們的值可以通過直接呼叫類而不需要建立類的例項來獲取。靜態變數可在成員函式或類的定義外部進行初始化。你也可以在類的定義內部初始化靜態變數。

多型性意味著有多重形式。在物件導向程式設計正規化中,多型性往往表現為"乙個介面,多個功能"。

多型性可以是靜態的或動態的。在靜態多型性中,函式的響應是在編譯時發生的。在動態多型性中,函式的響應是在執行時發生的。

c#的靜態多型性包塊函式過載和運算子過載。

您可以在同乙個範圍內對相同的函式名有多個定義。函式的定義必須彼此不同,可以是引數列表中的引數型別不同,也可以是引數個數不同。

不能過載只有返回型別不同的函式宣告。

void

print

(inti)

",i );

}void

print

(doublef)

",f);

}

printdatap =

newprintdata

();// 呼叫 print 來列印整數p.

print(5

);// 呼叫 print 來列印浮點數p.

print

(500.263

);

c# 允許您使用關鍵字abstract建立抽象類,用於提供介面的部分類的實現。當乙個派生類繼承自該抽象類時,實現即完成。抽象類包含抽象方法,

抽象方法可被派生類實現。派生類具有更專業的功能。

請注意,下面是有關抽象類的一些規則:

介面定義了所有類繼承介面時應遵循的語法合同。介面定義了語法合同"是什麼"部分,派生類定義了語法合同"怎麼做"部分。

介面定義了屬性、方法和事件,這些都是介面的成員。介面只包含了成員的宣告。成員的定義是派生類的責任。介面提供了派生類應遵循的標準結構。

介面使得實現介面的類或結構在形式上保持一致。

抽象類在某種程度上與介面類似,但是,它們大多只是用在當只有少數方法由基類宣告由派生類實現時。

介面使用inte***ce關鍵字宣告,它與類的宣告類似。介面宣告預設是 public 的。

下面是乙個介面宣告的例項:

inte***ce

imyinte***ce

以上**定義了介面 imyinte***ce。通常介面命令以 i 字母開頭,這個介面只有乙個方法 methodtoimplement(),沒有引數和返回值,

當然我們可以安裝需求設定引數和返回值。

值得注意的是,該方法並沒有具體的實現。

inte***ceimplementer 類實現了 imyinte***ce 介面,介面的實現與類的繼承語法格式類似:

class

inte***ceimplementer

:imyinte***ce

繼承介面後,我們需要實現介面的方法 methodtoimplement() , 方法名必須與介面定義的方法名一致。

以下例項定義了兩個介面 imyinte***ce 和 iparentinte***ce。

如果乙個介面繼承其他介面,那麼實現類或結構就需要實現所有介面的成員。

以下例項 imyinte***ce 繼承了 iparentinte***ce 介面,因此介面實現類必須實現 methodtoimplement() 和 parentinte***cemethod() 方法:

using

system

;inte***ce

iparentinte***ce

inte***ce

imyinte***ce

:iparentinte***ce

class

inte***ceimplementer

:imyinte***ce

public

void

methodtoimplement

()public

void

parentinte***cemethod

()}

例項輸出結果為:

methodtoimplement

()called

.parentinte***cemethod

()called

.

多型,介面,列舉

1.定義 同一種行為,具有多個不同的表現形式 2.前提條件 必須繼承或者實現,必須有的重寫 3.語法 父類的類名 物件名 new 子類的類名 實參列表 子類的物件指向父類的引用 4.特性 一旦有多型,分割槽編譯和執行 編譯看左,執行看右 編譯看左邊 物件只能呼叫父類中存在的內容 子類獨有的是呼叫不到...

實現介面的列舉類

由列舉類實現介面裡的方法,每個列舉值呼叫該方法由相同的行為方式。若要每個列舉值在呼叫該方法時由不同的行為方式,可讓每個列舉值分別實現該方法。public enum gender implements genderdesc female 女 上例中male,female建立列舉值是,不是直接建立gen...

列舉類實現介面 精

列舉類實現介面 精 列舉類和普通類實現介面一樣嗎?列舉類實現介面與普通類實現介面是一樣的,都需要實現介面的抽象方法。但是!列舉類 實現介面的同乙個抽象方法,該抽象方法在列舉類不同物件實現不同的行為。如何實現那?簡單 只要在列舉類的每個物件都重寫該方法就可以做到不同物件實現該抽象方法不同的行為。定義乙...