类
类(class)是现实世界事物的模型,即对现实世界事物进行抽象所得到的结果。(熟悉唯物辩证原理)
1)事物包括“物质”(实体)与“运动”(逻辑)
2)建模是一个去伪存真、由表及里的过程
对象
类与对象(实例)的关系
1)什么时候叫“对象”,什么时候叫“实例”
- 对象也叫实例,是类经过“实例化”后得到的内存中的实体。
举例:
Formally “instance” is synonymous with “object”. ——对象和实例是一回事。
“飞机”与“一架飞机”有何区别?天上有(一架)飞机——必须是实例飞,概念是不能飞的。
有些类是不能实例化的,比如“数学”(Math class),我们不能说“一个数学”。 - 依照类,我们可以创建对象,这就是“实例化”
现实世界中常称==“对象”==,程序世界中常称 “实例”, 二者并无太大区别,常常混用,初学者不必迷惑。 - 使用new操作符创建类的实例
new Form(); //Form类的实例化,Form译为表单
(new Form()).ShowDialog(); //以窗口的形式展示表单
2)引用变量与实例的关系
孩子与气球:孩子相当于引用变量,气球相当于实例
气球不一定有孩子牵着
new myForm(); //气球会飞走,开辟的空间没有指示
孩子没有牵气球
Form myForm; //创建引用变量,但没有指向任何实例
多个孩子可以使用各自的绳子牵着同一个气球,也可以都通过一根绳子牵着气球
Form myForm1; //创建引用变量1,即孩子1
Form myForm2; //创建引用变量2,即孩子2
myForm1 = new Form(); //将Form的实例赋给myForm1,即让孩子1牵气球
myForm2 = myForm1; //孩子2与孩子1牵同一个气球
myForm1.Text = "my Form";
myForm2.ShowDialog();
类成员简介
类的三大成员:属性、方法、事件
1)属性(Property)
存储数据,组合起来表示类或对象当前的状态
2)方法(Method)
- 由C语言中函数(function)进化而来,表示类或对象“能做什么”。
- 工作中90%的时间是在与方法打交道,因为它是“真正做事”、“构成逻辑”的成员
3)事件(Event)
- 类或对象通知其他类或对象的机制,为C#所特有的(Java通过其它办法实现这个机制)
- 善用事件机制非常重要
4)使用MSDN文档
查找类的相关信息,将光标放置在类的位置,点击f1,进入帮助文档,点击在目录中显示主题,即可达到下图的效果。
5)某些特殊类或对象在成员方面侧重点不同
- 模型类或对象重在属性,如Entity Framwork
- 工具类或对象重在方法,如Math、Console
- 通知类或对象重在事件,如各种Timer
类的静态成员与实例成员
1) 静态(Static)成员在语义上表示它是“类的成员”。例如,人类的平均身高、平均体重
2)实例(非静态)成员在语义上表示它是“对象的成员”。例如,某个人的身高、体重
3)绑定(Binding)指的是编译器如果把一个成员与类或对象关联起来
不可小觑的操作符"."——成员访问