当前位置:编程学习 > C#/ASP.NET >>

C#基础知识整理:基础知识(2) 类

类,是面向对象语言的基础。类的三大特性:封装、继承、多态。最基本的特性就是封装性。
程序员用程序描述世界,将世界的所有事物都看成对象,怎么描述这个对象?那就是类了。也就是用类来封装对象。用书上的话说,类是具有相同属性和行为的对象的抽象。宝马汽车、别克汽车、五菱之光汽车... 基本具有相同的属性和行为,所以可以抽象一个汽车类,当然也可以把路人甲的宝马汽车、路人乙的别克汽车... 抽象一个汽车类。
类抽象完成后,可以实例化,实例化后的称之为一个对象,然后可以对属性赋值或运行类的方法。属性和方法同每个对象关联,不同的对象有相同的属性,但属性值可能不同;也具有相同的方法,但方法运行的结果可能不同。
类的属性和方法是被类封装的。
看如下类的定义:
[csharp] 
1. using System; 
2.  
3. namespace YYS.CSharpStudy.MainConsole 
4. { 
5.     /// <summary>  
6.     /// 定义一个学校类  
7.     /// 这个类只有属性,没有方法(其实确切的来说是有一个默认的构造器方法)  
8.     /// </summary>  
9.     public class YSchool 
10.     { 
11.         /// <summary>  
12.         ///字段, 类里面定义的变量称之为“字段”  
13.         /// 保存学校的ID  
14.         /// </summary>  
15.         private int id = 0; 
16.  
17.         /// <summary>  
18.         /// 保存学校的名字  
19.         /// </summary>  
20.         private string name = string.Empty; 
21.  
22.         /// <summary>  
23.         /// 属性,字段作为保存属性值的变量,而属性则有特殊的“行为”。  
24.         /// 使用get/set来表示属性的行为。get取属性值,set给属性赋值。因此get/set称为“访问器”。  
25.         ///   
26.         /// ID属性  
27.         /// </summary>  
28.         public int ID 
29.         { 
30.             get 
31.             { 
32.                 //get返回一个值,表示当前对象的该属性的属性值。  
33.                 return this.id; 
34.             } 
35.             //这里的.号用于访问对象的属性或方法。  
36.             //this指当前对象,意即哪个实例在操作属性和方法,this就指哪个实例。  
37.             set 
38.             { 
39.                 //局部变量value,value值是用于外部赋给该该属性的值。  
40.                 this.id = value; 
41.             } 
42.         } 
43.         /// <summary>  
44.         /// 姓名属性  
45.         /// </summary>  
46.         public string Name 
47.         { 
48.             get 
49.             { 
50.                 return name; 
51.             } 
52.  
53.             set 
54.             { 
55.                 name = value; 
56.             } 
57.         } 
58.     } 
59.  
60.     public class YTeacher 
61.     { 
62.         private int id = 0; 
63.  
64.         private string name = string.Empty; 
65.  
66.         //这里将YSchool类作为了YTeacher的一个属性。  
67.         private YSchool school = null; 
68.  
69.         private string introDuction = string.Empty; 
70.  
71.         private string imagePath = string.Empty; 
72.  
73.         public int ID 
74.         { 
75.             get 
76.             { 
77.                 return id; 
78.             } 
79.  
80.             set 
81.             { 
82.                 id = value; 
83.             } 
84.         } 
85.  
86.         public string Name 
87.         { 
88.             get 
89.             { 
90.    
补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,