C#学习笔记一(变量、属性、方法,构造函数)

C#类中包含三个最基本的元素:

  1:变量亦称字段

  2:属性,既通过属性为字段赋值或取值

  3:方法,完成特定功能,构造函数其实也是一种方法,只不过比较特殊,最近在看21天学通Asp.net,发现书中第三章范例有误,误导了初学者,实在是该死,而且实在看不出是印刷错误来。

   接下来举例说明一下:

  下面是一个简单的类:

代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 
 6 /// <summary>
 7 ///Class1 的摘要说明
 8 /// </summary>
 9 public class Class1
10 {
11     //首先我们定义两个int型变量
12     private int a;
13     private int b;
14     //这是一个空的构造函数
15     public Class1()
16     {
17     }
18     //这是带参数的构造函数,其实已于上面空的构造函数构成了"重载"(原来这就是所谓的重载...)
19     //在这个构造函数中我们为变量a直接赋值
20     public Class1(int in_a) {
21         a = in_a;
22     }
23     //这是属性,用于为变量赋值(set模块)和取走变量的值(get模块)
24     //其中set模块中我们用方法get_b()为b同时赋值
25     public int pa {
26         set {
27             a = value;
28             b = get_b();
29         }
30         get {
31             return a;
32         }
33     }
34     //属性,其中仅有get模块,因为在属性pa中我们已经为变量b赋值
35     public int pb {
36         get { return b; }
37     }
38     //方法,返回变量a+2,用于为b赋值
39     private int get_b() {
40         return a + 2;
41     }
42 }
43 

接下来我们进行类的实例化,并做简单的应用:

代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 public partial class Default3 : System.Web.UI.Page
 9 {
10     protected void Page_Load(object sender, EventArgs e)
11     {
12         //我们用第一种构造函数进行实例化(即空构造函数)
13         Response.Write("用空的构造函数实例化<br>");
14         Class1 test1 = new Class1();
15         test1.pa = 5;
16         Response.Write(test1.pa + "<br>");
17         Response.Write(test1.pb + "<br>");
18         //第二种构造函数进行实例化(即空构造函数)
19         Response.Write("用带参数的构造函数实例化<br>");
20         Class1 test2 = new Class1(5);
21         Response.Write(test2.pa + "<br>");
22         Response.Write(test2.pb + "<br>");
23 
24     }
25 }
26 

结果:

用空的构造函数实例化
5
7
用带参数的构造函数实例化
5
0

心得:

  1:变量名不可以与属性名同名。

  2:用带参数的构造函数实例化时不会调用相关的属性为变量赋值。

  3:21天学通Asp.net中本书上在中个地方讲的含含糊糊,例子也是让人费解。。。让我颇长了见识。。

原文地址:https://www.cnblogs.com/zc_0101/p/1625165.html