C 物件導向的程式設計提公升

2021-10-06 06:17:07 字數 3674 閱讀 4976

使用靜態成員時要注意

static 靜態建構函式名()//與類名相同

//不能帶訪問修飾符,不能有任何引數列表和返回值

//不支援過載,就是說只能有乙個;

[訪問修飾符]

class 類名 : 基類名

預設建構函式

帶引數的建構函式

class

father

//基類

}class

son:

father

//派生類

}

public

dog():

base

("未知「,0)//派生類的預設建構函式

public

sealed

class

animal

public

newstring

eat(

)//在派生類中重新定義基類中的方法

):我是二狗!"

,name)

;}

虛方法及過載
public

class

animal

//基類

:我要吃東西!"

,name);}

}public

class

dog:

animal

//派生類

:我要吃骨頭!"

,name);}

}

虛方法及其過載
public

class

animal

//基類}}

public

class

dod:

animal

}}

基類與派生類之間的轉換

在派生類中呼叫基類的成員

public overvide void

eat(

)

抽象方法
public

abstract

class

shape

//宣告抽象類

public

abstract

double

cubage()

;//宣告抽象方法,用來計算體積;

public

abstract

double length//宣告抽象可讀寫屬性

}

抽象屬性
public

override 方法名稱(引數列表)

介面的宣告
訪問修飾符 inte***ce 介面名//訪問修飾符只能使用public\internal,預設為public可省略。

inte***ce

iusb

string

transdata

(string from,

string to)

;}

介面的實現
public

class

***:

iusb

}public

string

transdata

(steing from

.string to)到",

from

,to);}

}

介面的繼承性
inte***ce

iusb

string

transdata

(string fron,

string to);}

inte***ce

ibluetooth

string

transdata

(string

from

,string to);}

inte***ce

imps

:iusb

,iblueytooth

多重介面的實現
public

class

mobile

:iusb,ibluetooth

public

class

mobile

:phone

,iusb,ibluetooth//phone是乙個基類,iusb\ibluetooth是介面

public abstrct class

phone

//抽象基類

public

class

mobile

:phone

,iusb,ibluetooth//派生實現類

}string iusb.

traansdata

(string

from

,string to)到",

from

, to);}

int ibluetooth.maxspeed

}string ibluetooth.

transdata

(string

from

,string to)到",

from

,to);}

//抽象類的繼承

public

override

string

call

(string name)

通話中。。。"

,name);}

}

訪問介面的成員

訪問介面的成員

*** m=

new***()

;lblshow.text=m.

transdata

("計算機"

,"***裝置"

);

2.通過介面的例項來訪問:(better)

介面的例項化:介面是不能直接例項化的,只能間接例項化。先建立其派生類的物件,在將該物件強制轉換為介面型別並賦給介面變數,從而建立介面的例項)

*** m=

new***()

;iusb u=

(iusb)m;

lblshow.text=u.

transdata

("計算機"

,"***裝置"

);

測試物件是否支援介面(測試類是否實現了介面)
*** m =

new***()

;if(m is iusb)

//判斷表示式

表示式 as 型別

**換加判斷:首先測試轉換是否合法,若是則進行轉換,否則返回null)

*** m=

new***()

;iusb u =m as iusb;

if(u!=

null

)

巢狀類

分布類命名空間

namespace 名字

(俺的天哪,終於寫完啦。)

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

c 物件導向的程式設計

物件導向程式設計基於三個基本概念 資料抽象 繼承和動態繫結 在c 中,用類進行資料抽象 用類派生從乙個類繼承另乙個類 派生類繼承基類的成員 多型 動態繫結使編譯器能夠在 執行時 決定是使用基類中定義的函式還是派生類中定義的函式 物件導向程式設計的關鍵思想是多型性 polymorphism 實現多型必...

C 物件導向程式設計

1.1 類與物件 物件 object 是類 class 的乙個例項 instance 如果將物件比作房子,那麼類就是房子的設計圖紙。所以物件導向程式設計的重點是類的設計,而不是物件的設計。類可以將資料和函式封裝在一起,其中函式表示了類的行為 或稱服務 類提供關鍵字public protected 和...