深入類的方法
阿新 • • 發佈:2017-07-08
control 方法重載 size 個數 pre height 交互圖 lose images
構造函數
無參構造函數
帶參構造函數
在C#中,當我們定義了一個類後,默認會生成一個與類名同名的無參構造,但是我們如果定義了
任何一個帶參構造,那麽系統不再幫助我們生成無參構造.
構造函數的特點:
1.方法名與類名相同
2.沒有返回值
3.主要完成對象的初始化工作
方法的重載
方法重載的特點:
1.方法名相同
2.方法參數類型不同或者參數個數不同
3.在同一個類中
對象交互
實例:
Control類:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq;4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace day04_0200對象間交互 8 { 9 /// <summary> 10 /// 遙控器類 11 /// </summary> 12 class Control 13 { 14 //開機 15 public void Opens(TV tv) 16 { 17 tv.Open(); 18 } 19 //關機 20 public void Closes(TV tv) 21 { 22 tv.Close(); 23 } 24 //換臺 25 public void Changes(TV tv,string changeNo) 26 { 27 tv.Change(changeNo); 28 } 29 30 31 } 32 }
TV類:
1 using System; 2 usingSystem.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace day04_0200對象間交互 8 { 9 /// <summary> 10 /// 電視機類 11 /// </summary> 12 class TV 13 { 14 bool isOn = false; //是否開機 15 //打開電視機 16 public void Open() 17 { 18 if (isOn==false) 19 { 20 isOn = true; 21 } 22 Console.WriteLine("電視機打開"); 23 } 24 //關閉電視機 25 public void Close() 26 { 27 if (isOn==true) 28 { 29 isOn = false; 30 } 31 Console.WriteLine("電視機關閉"); 32 } 33 //換臺 34 public void Change(string changeNo) 35 { 36 if (isOn) 37 { 38 Console.WriteLine("正在切換到{0}臺",changeNo); 39 } 40 } 41 } 42 }
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace day04_0200對象間交互 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Control con = new Control(); 14 TV tv = new TV(); 15 con.Opens(tv); 16 con.Changes(tv,"123"); 17 con.Closes(tv); 18 Console.ReadKey(); 19 } 20 } 21 }
執行結果:
如下圖所示為統計建模語言(UML)中的時序圖:
這是一種強調時間順序的交互圖.
深入類的方法