目录
2.1、对象也叫实例,是类经过“实例化”后得到的内存中的实体
4.1、静态(Static)成员在语义上表示它是“类的成员”
4.3、绑定(Binding)指的是编译器如果把一个成员与类或对象关联起来
1、类是现实世界事物的模型
- 事物包括“物质”(实体)与“运动”(逻辑也是算法)
- 建模(抽象)是一个去伪存真、由表及里的过程
2、类与对象的关系
2.1、对象也叫实例,是类经过“实例化”后得到的内存中的实体
- Formally “instance” is synonymous with “object” ——对象和实例是一回事
- “飞机” 与“一架飞机”有何区别?天上有(一架)飞机——必需是实例飞,概念是不能飞的
- 有些类是不能实例化的,比如“数学”(Class Math),我们不能说“一个数学”
2.2、依照类,我们可以创建对象,这就是“实例化”
- 现实世界中常称“对象”,程序时间中常称“实例”
- 二者并无太大区别,常混用,初学者不必迷惑
2.3、使用new操作符创建类的实例
2.4、引用变量与实例的关系
- 孩子与气球
- 气球不一定有孩子牵着
- 多个孩子可以是同各自的绳子牵着同一个气球,也可以都通过一根绳子牵着气球
Form myForm; //孩子
myForm = new Form();//孩子牵着气球
new Form();//气球,没有孩子牵着
Form myForm1,myForm2;
myForm1 = new Form();
myForm2 = myForm1;//两个孩子牵着同一个气球
myForm1.Text = "My Form";
myForm2.ShowDialog();
3、类的三大成员
3.1、属性(Property)
- 存储数据,组合起来表示类或对象当前的状态
- 图标:手指表单
3.2、方法(Method)
- 由C语言中的函数(function)进化而来,表示类或对象“能做什么”
- 工作中90%的时间是在与方法打交道,因为它是“真正做事”、“构成逻辑”的成员
- 图标:小方块,小扳手
3.3、事件(Event)
- 类或对象通知其他类或对象的机制,为C#所特有(Java通过其他办法实现这个机制)
- 善用事件机制非常重要,不能滥用(什么是滥用还没说)
-
图标:小闪电
3.4、使用MSDN文档
3.5、某些特殊类或对象在成员方面侧重点不同
- 模型类或对象重在属性,如Entity Framework
- 工具类或对象重在方法,如Math,Console
- 通知类或对象重在事件,如各种Timer
3.6、Tips
- foreach用法:输入foreach快速按两下tab键。
- 创建事件处理器是,输完+=快速按两下tab键。
4、类的静态成员与实例成员
4.1、静态(Static)成员在语义上表示它是“类的成员”
4.2、实例(非静态)成员在语义上表示它是“对象的成员”
4.3、绑定(Binding)指的是编译器如果把一个成员与类或对象关联起来
- 不可小觑“.”操作符——成员访问