类(class)是C#类型中最基础的类型。类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中。类提供了用于动态创建类实例的定义,也就是对象(object)。类支持继承(inheritance)和多态(polymorphism),即派生类能够扩展和特殊化基类的机制。 使用类声明可以创建新的类。类声明以一个声明头开始,其组成方式如下:先是指定类的特性和修饰符,后跟类的名字,基类(如果有的话)的名字,以及被该类实现的接口名。声明头后面就是类体了,它由一组包含在大括号({})中的成员声明组成。 下面是一个名为Point的简单类的声明: public class Point { public int x, y; public Point(int x, int y){ this.x = x; this.y = y; } } 使用new运算符创建类的实例,它将为新实例分配内存,调用构造函数初始化实例,并且返回对该实例的引用。下面的语句创建两个Point对象,并且将那些对象的引用保存到两个变量中: Point p1 = new Point(0, 0); Point p2 = new Point(10, 20); 当不再使用对象时,该对象所占的内存将被自动回收。在C#中,没有必要也不可能显式地释放对象。 1.6.1 成员 类的成员或者是静态成员(static member),或者是实例成员(instance member)。静态成员属于类,实例成员属于对象(类的实例)。 表1.6提供了类所能包含的各种成员的描述。 表1.6 类 的 成 员 成 员 描 述 常数 与类关联的常量值 字段 类的变量 方法 能够被类执行的计算和行为 属性 使对象能够读取和写入类的命名属性 索引器 使对象能够用与数组相同的方式进行索引 事件 能够被类产生的通知 运算符 类支持的转换和表达式运算符 |