C 筆記 四 抽象類,密封類,部分類

2022-06-20 02:03:16 字數 2305 閱讀 1373

evernote export

.................................. c#的抽象類 ...................................

抽象類 --

abstract

[ absi抓

t] -- 虛方法:

virtual

[ ver

求] -- 重寫:

override

[ over

raid

]:作用

規定某些類都必須具有某種行為,可以定義乙個父類,但是這種行為有各不相同,所以提出了 抽象類;

它代表一類物件所具有的公共屬性或公共方法

[要建立 馬,鳥,狗類,規定都有吃東西這個方法,但是不同的動物有不同的吃法,所以寫不了方法實體,只能定義為抽象方法]

抽象類規定某些類都必須具有行為的模板,

可以定義建構函式,但不能被例項化;可以有變數,實方法 和 虛方法

抽象屬性,抽象方法只存在於抽象類中,但是抽象類中不一定有抽象成員

抽象方法abstract

沒有方法體的方法,所以必須被重寫;

虛方法virtual

標記可能,但不是必須被重寫的方法,所以必須帶方法體,

抽象方法和虛方法

訪問型別不能是private;屬於類的成員,預設都是

private

,所以必須宣告其型別;

子類繼承抽象類必須重寫抽象類中所有的抽象方法和抽象屬性,不然要將該類定義為抽象類;

重寫方法 override

只能重寫用 abstract,virtual,override 修飾的方法 [ 重寫不能修改方法的定義,方法是什麼訪問型別,返回值型別,重寫方法也一樣 ]

abstract

class

basetest

// 抽象類

,public

abstract

intfun

(int

ab,

intaba);

public

virtual

intfun2

()

// 虛方法,要有{}

}class

basetest2

: basetest

// 抽象類被繼承

public

override

intfun

(int

a, int

b) }

abstract

class

basetest3

:basetest

.................................. c#的密封類 sealed ...................................

使用 sealed

會提高執行效率,因為類不用擔心被繼承,子類中的方法不用擔心被重寫

密封類:

如果有些類不想被繼承,

就定義為 密封類

能被繼承,所以類中的

virtual

方法會自動轉為 非

virtual

,即 virtual

不起作用

密封方法:

子類中某些

override

方法不想再被[ 子類的子類 ]重寫,就定義為 密封方法

sealed

override

一定是連用,只能出現在子類中

abstract

class

aclassb:

a}sealed

classc:

b}.................................. c#的部分類 partial ...................................

同一命名空間下不允許出現相同的兩個類

部分類:

partial

+ classname

1. 必須在同乙個命名空間下使用

partial修飾2

. 部分類其實就是乙個類,編譯時會把他們編譯成乙個類

3. 在乙個夥伴類中定義的變數能在另一夥伴類中訪問 [

就是同乙個類

]partial

class classa

partial

class classa

classa ca = new classa();ca.

c= ca.

i+ ca.

j;console

.writeline(ca

.c.tostring());

出處:

抽象類和密封類

基本概念 包含抽象方法的類叫做抽象類。抽象方法被abstract修飾,類也要由abstract修飾。抽象類中可以有抽象方法,也可以有非抽象方法。抽象類不能建立例項物件 不能new抽象類。抽象類中可以沒有抽象方法,但是抽象方法一定在抽象類中。因為抽象類不能被例項化,抽象方法不能被實現。抽象類和普通類的...

C 抽象類 密封類及類成員

1.抽象類和類成員 使用 abstract 關鍵字可以建立必須在派生類中實現的不完整的類和類成員。例如 public abstract class a 抽象類不能例項化。抽象類的用途是提供多個派生類可共享的基類的公共定義。例如,類庫可以定義乙個作為其多個函式的引數的抽象類,並要求程式設計師使用該庫通...

抽象類 密封類及類成員(C )

使用abstract關鍵字可以建立不完整且必須在派生類中實現的類和類成員。使用sealed關鍵字可以防止繼承以前標記為 virtual 的類或某些類成員。通過在類定義前面放置關鍵字 abstract,可以將類宣告為抽象類。例如 public abstract class a 抽象類不能例項化。抽象類...