第二阶段_第五小节_C#基础3
?
第四小節
?
?
?
枚舉
?
創建
?
按位或
?
?
按位與
?
?
?
?
?
?
?
標志枚舉flag
?
?
?
判斷是否包含某個枚舉
枚舉輸出格式
?
?
類
樣式
1.敵人生成器--生成敵人。
2.敵人
--尋路
--掉血
--死亡
3.輸入探測器
--檢測用戶輸入
4.防守者
--攻擊
--升級
5.游戲控制器
--加分
--暫停
--快進
6.炮彈
--移動
--攻擊
?
?
?
?
?
?
個人圖例
?
老師圖例
?
?
?
成分
?
?
?
?
字段
?
?
屬性
?
自動屬性
?
?
構造方法
?
?
調用兄弟構造函數
?
?
?
方法
?
?
?
調用
?
類和對象
?
?
?
屬性調用
?
?
?
構造函數的調用
?
?
?
?
?
?
?
?
練習一,找小老婆
?
?
?
答案
?
?
?
?
?
?
類中方法外叫【成員變量】;//對象被銷毀,成員變量消失。
方法內的變量叫【局部變量】;
?
?
?
?
?
索引器
根據索引訪問集合類型成員
適用性:
1.創建數組不方便確定大小,
2.添加數組元素不方便確定索引。
3.增加元素希望自動擴容。
4.
public Wife this[int index]
{ get
{ return data[index]; }
}
?
?
根據名稱訪問集合類型成員
public Wife this[string name]
{ get
{
foreach (var item in data)
{
if (item.Name == name)
return item;
}
return null;
}
}
?
?
?
?
?
?
?
?
?
?
繼承
?
父子間轉換用as;
?
?
靜態
?
Static
?
//需求:統計person類創建的對象數量。
統計構造函數被調用多少次。
在構造函數中更新對象計數器。
?
?
靜態成員變量
?
靜態成員變量是類的是大家的
而成員變量是每個對象都有一個的。
?
Static 常駐內存;
類名.成員變量
?
使用static關鍵字修飾的成員變量。
?靜態成員變量屬于類,類被加載時初始化,且只有一份。
?實例成員變量屬于對象,在每個對象被創建時初始化,每 個對象一份。
?特點:存在優先于對象,被所有對象所共享,常駐內存。
?
靜態構造函數
?
只有類被加載的時運行一次。
普通構造函數是對象被創建時就運行一次。
?
?
初始化類的靜態數據成員。
?僅在類被加載時執行一次。
?不允許使用訪問修飾符。
?
?
?
靜態方法
?
通過類名調用靜態方法
只能訪問靜態的。
?
?
通過引用調用實例方法時,會隱式的傳遞對象引用,以便 在方法內部可以正確訪問該對象成員變量。
?通過類名調用靜態方法時,因為沒有具體對象,所以在 static方法中不能訪問實例成員。
?
?
創建早,不可能訪問非靜態成員變量。
只能訪問靜態的。
?
靜態類
?
不能實例化,只能包含靜態成員
靜態類不能被繼承,但是靜態方法、屬性都可以被繼承
?
使用static關鍵字修飾的類。
?不能實例化,只能包含靜態成員。
?靜態類不能被繼承,但是靜態方法、屬性都可以被繼承。
?
?
?
Const(常量)
?
不能變
?
?
?
?
?
?
?
?
?
結構
?
用于數據成員少的聲明。
占用棧內內存
?
如:點,顏色。
?
?
對象構造器
Student s1 = new Student() { Score = 100 };
Student s2 = s1;
s1.Score = 200;//?
Console.WriteLine(s2.Score);
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1.面試題:。net mono unity關系
?
2.變量是什么:內存上的一塊地方。
數據類型 變量名;
類型決定了:內存中的大小
?
?
3.
(數據類型轉換,父類型與子類型轉換)
?
4.
判斷需不需要訪問實例成員
來判斷需不需要加static。
因為static只能訪問靜態成員。
?
5.數據類型
值類型:存數據,較小,大小固定。
引用類型:存地址,數據大小不固定。
?
6.對象構造器
Student s1 = new student(){score = 100};
?
7.類(抽象)和對象(具體)
?
?
靜態
?
?
總結
以上是生活随笔為你收集整理的第二阶段_第五小节_C#基础3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二阶段_第四家小节_C#基础2
- 下一篇: c# char unsigned_dll