灵活使用类的方法

构造函数

    概括:构造函数是类中的一种特殊的方法,主要完成对象的初始化工作,在创建对象的时候完成指定的工

          作。而且构造函数方法名和类名相同,没有返回值类型。

    无参构造函数

        在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。但我们也可以自定义一个无参构造函数,在创

        建对象的时候自动给属性一个默认值。

1     class Demo
2     {
3         public string DemoName { get; set; }
4         public Demo()                       //创建无参构造函数
5         {
6             this.DemoName = "无参构造函数";  //方法体内写在创建对象时需要初始化的属性
7         }
8     }

         小技巧:在Visual Studio中创建无参构造函数的快捷方式是‘ctor’ + 两个tab键;创建属性的快捷方式是‘prop’ + 

             两个tab键。

    带参构造函数

        有时我们需要在创建对象的时候给对象的属性指定一些值,而这些值是一定的,所以我们需要带参构造函数。

 1     class Demo
 2     {
 3         public string DemoName { get; set; }
 4         public Demo(string DemoName)                       //创建带参构造函数
 5         {
 6             this.DemoName = DemoName;
 7         }
 8     }
 9 
10     class Test
11     {
12         Demo demo = new Demo("带参构造函数");               //创建对象时在小括号内指定值
13     }

        另外需要注意几个事项:

          1.创建对象时小括号内给出的参数必须和带参构造函数的参数列表相同。

          2.类中有了带参构造函数后,创建对象便必须在小括号内给出相应的值。因为在C#中一旦类有了构造函数,

             就不再自动分配构造函数。(推荐创建了带参构造函数后再创建一个无参构造函数。)

 

       追加:

          还有另一种快捷的初始化属性的方法,即对象初始化器。

          用法:Demo demo = new Demo(){ Name = "对象初始化器"};

           或:Demo demo = new Demo{ Name = "对象初始化器"};

              

 

方法重载

    概括:同一件事情,根据不同的参数来执行不同的操作,即方法重载。

      特点:每个方法名相同、参数列表不同、在同一个类中。

        注:参数列表不同指每个方法的参数类型不同或参数顺序不同或参数个数不同。

          仅返回值不同是不构成方法重载的。

      例:

 1     class Demo
 2     {
 3         public string DemoName { get; set; }
 4         /*********构造函数重载********/
 5         public Demo()
 6         {
 7             this.DemoName = "无参构造函数";
 8         }
 9         public Demo(string demoName)
10         {
11             this.DemoName = demoName;
12         }
13 
14         /**********方法重载**********/
15         public void SayHello(string name)
16         {
17             Console.WriteLine("你好,我是{0},很高兴认识你。", name);
18         }
19         public void SayHello(string name, int age)
20         {
21             Console.WriteLine("你好,我是{0},今年{1}岁,很高兴认识你。", name, age);
22         }
23     }
24 
25     class Test
26     {
27         /*********构造函数重载********/
28         Demo demo = new Demo();
29         Demo demo1 = new Demo("带参构造函数");
30 
31         /**********方法重载**********/
32         public void Test()
33         {
34             demo.SayHello("小明");
35             demo.SayHello("小明", 18);
36         }
37     }

 

posted @ 2017-02-22 17:08  南橘  阅读(578)  评论(0编辑  收藏  举报
蜘蛛