C 巢狀類 匿名類 物件初始化

2021-10-04 18:48:29 字數 2500 閱讀 6792

巢狀類(class中再加class)巢狀類與普通類相似,只是類的宣告位置特殊,致使其訪問訪問許可權和引用方式不同。

簡單例子:

//巢狀類

static

void

main

(string

args)

class

outer

//外部類

public

void

print()

//外部類中定義普通方法

}

拓展①:main訪問巢狀類 (物件:【外部類名.內部類名 物件名=new 外部類名.物件名()】):

static

void

main

(string

args)

class

outer

//外部類

}public

void

test1()

//外部類的普通方法

}

拓展②:外部類訪問巢狀類 (外部類只能訪問修飾符為public,internal巢狀類的字段、方法、屬性)

拓展③:巢狀類訪問外部類 (巢狀類訪問外部類無需考慮訪問許可權)

static

void

main

(string

args)

class

outer

//外部類

}}

匿名類無需顯示定義乙個類,起到唯讀作用,將一組唯讀屬性封裝到單個物件中

格式:var 物件名 = new;

例子:

static

void

main

(string

args)

;//匿名類格式 var ********

console.

writeline

("匿名類資訊:"

+niming)

; console.

readkey()

;}

物件初始化作用:當類中屬性過多,不可能每一種方法都定義乙個構造方法,物件初始化器可以簡略**書寫(其中物件初始化只能進行set操作)

①使用物件初始化:(資料過多時,一次性賦值)

格式:【類名 物件名 = new 類名()】

//物件初始化器

static

void

main

(string

args)

;//建立物件的同時 在{}內對類屬性進行初始化

chu.

print()

; console.

readkey()

;}class

chu//建立類

}private

string tell;

public

string tell

}private

string

add;

public

string add

}public

void

print()

}

static

void

main

(string

args)

;//建立物件的同時 在{}內對類屬性進行初始化

chu.name =

"aucl"

; chu.tell =

"001"

; chu.add =

"中國"

;//不使用物件初始化器需要一一賦值,比較麻煩

chu.

print()

; console.

readkey()

;}class

chu//建立類

get}

private

string tell;

public

string tell

get}

private

string

add;

public

string add

get}

public

void

print()

}

每天進步一點點。

初始化類物件

初始化類物件 趙湘寧問題 c 中如何初始化類中的表資料?在c語言中,我能像下面這樣初始化結構陣列 struct mystruct mystruct table etc 但是如果mystruct是個c 類,而不是結構,我編譯就會出錯。我覺得這是c 的乙個不足。解答 這個問題完全取決於你如何看待c c ...

類和物件 初始化

一般的訪問許可權修飾符 public protected private 預設,對class修飾一般用public 預設,乙個原始檔中只能有乙個public修飾的類,static 靜態的,static修飾的變數成為靜態變數,是共享的,和static修飾的同名的變數,無論哪乙個改變,其他的也會改變,一...

物件導向 類 類 例項初始化)

1 類的成員 public class testblock class myclass 結果為 這是非靜態 塊 無參構造 在每次建立物件時都執行 public class testblock class myclass public myclass string str 結果為 這是非靜態 塊 無參...