深入类的方法

Posted 波涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入类的方法相关的知识,希望对你有一定的参考价值。

构造函数

无参构造函数

带参构造函数

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

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

 

以上是关于深入类的方法的主要内容,如果未能解决你的问题,请参考以下文章

有条件地导入 python 类的片段

第四章 深入类的方法

深入类的方法

深入面向对象——继承

深入类的方法

单例模式深入探讨