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# ,