巢狀類(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 結果為 這是非靜態 塊 無參...