第二讲 类, 组和名称空间
类,是面向对象的核心,世界万物皆为类。套用金旭亮老师的话为类是印章,而对象为印章敲出的印。印在没有敲出以前,只是个模板。怎么敲出印的过程为对象的实例化。
实例化过程有点复杂。按我的理解是分二步。第一步在栈中加一个变量。第二步是在堆中建一个内存块,存放引用类型的数据,然后把栈中的变量值变为堆地址。
*类的初始化3个方法
1、Test mytest = new Test();
2、FileStream fs = File.Create(“data.inp”);没有可访问的构造函数,
Create方法返回类实例的一个引用。
3、使用反射(Reflection)
*类里有字段,属性,方法
字段可是静态字段,可以理解为全局变量。
常量是隐式的静态成员
补充:只读字段与常量字段
public static readonly double Price = 3.72
区别:
静态方面
初始化方面
类型方面
*名称空间可以按逻辑对类进行划分
增强可读性( System.Windows.Forms.Form)
减少了类名的冲突(my classes &your classes)
using的三个用法
1、引入名称空间
2、申明别名
3、安全代码
*组件(Component)
A component == 1 or more classes
在.NET中,组件被称为程序集(assembly)
组件和存放的物理位置有关,跟名称空间无直接关系
*引用组件
你有两种选择
1) 打开DLL项目
2) 直接引用DLL