首页 > 代码库 > 深入类的方法

深入类的方法

构造函数

无参构造函数

带参构造函数

在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 Control13     {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 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 TV13     {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 Program10     {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)中的时序图:

这是一种强调时间顺序的交互图.

技术分享

 

深入类的方法