標籤:
構造方法 構造方法,是與類名相同,並且無傳回值,不加void 構造方法的主要作用是建立對象並給對象賦初值 不帶有參數的構造方法稱為預設構造 構造方法可以帶有參數進行重載, 如果要給對象賦具體的初始值時 可以在類裡面寫出帶有參數的構造方法並調用 如果在類裡面沒有構造方法,當我們建立對象時,系統會自動產生一個預設構造供使用 如果類裡面有帶有參數的構造方法,調用預設構造時,必須顯示的把預設構造寫出來 物件導向三大特性:封裝、繼承、多態 封裝 我們在建立對象時,不希望外部人為的來破壞對象所包含的欄位的值,此時就需要把資料封裝起來 具體的做法是:把成員欄位用private欄位修飾,這樣外部就無法拿到欄位並修改所儲存的資料 同時把私人的欄位改成屬性,通過屬性來修改欄位的值,建立對象並初始化對象時 可以用帶有參數的構造方法給欄位賦初始值,把欄位寫成私人後,雖然在外部不能使用,但是在類的內部可以使用、 即類內部的方法可以調用類裡面的私人欄位 繼承 當一個子類繼承父類,會把父類裡面的成員繼承過來, 父類裡面的成員如果用public修飾,稱為共有繼承,用private修飾稱為私人繼承 公有繼承的成員在任何地方都能使用 私人繼承過來的成員只能在分類內部使用,在類的額外面不能使用 protected繼承過來的成員只能在父類和子類裡面使用,類的外面不能使用//裡氏轉換 SmallDog small = new SmallDog(); BigDog big = new BigDog(); stu.WalkDog(big); stu.WalkDog(small); //在處理資料時,為了使所處理的資料,類型達到統一, //此時會把資料的類型統一寫成父類的類型,這樣就可以吧子類的對象直接賦值給父類 //裡氏轉換的第一個原則:把子類對象賦值給父類,但是調用類裡面的成員時只能調用父類裡面的子類裡面的調用不到 Dog dog = small; //裡氏轉換的第二個原則;把父類的對象轉成子類,as BigDog s =dog as BigDog; if (s!=null ) { s.BigDogBark(); }//把實值型別轉換成參考型別的過程稱為裝箱 object obj = a; Console.WriteLine(obj); //把參考型別轉換成實值型別稱為拆箱 int c=(int )obj;多態virtual override
c#筆記(九)——物件導向