C#入门系列 (十七) -- 类和对象
对象的定义和创建
定义类对象的方法为:
类是引用类型的,当定义了对象之后,系统会为数据引用分配存储空间,但是用来保存对象的实际数据的空间并没有分配。
对象的创建
创建对象时需要使用 new 运算符。new 运算符可以为任意指定类类型的实例分配并初始化内存。
创建对象的语法形式如下:对象名 = new 类名();
代码示例,对象的定义和创建:
行对象的创建时,需要注意:
new 运算符后为要创建的对象所属类的类名
类名后的圆括号不能省略
可以将对象的定义和创建合并在一起
对象的初始化
C#中实现对象初始化的方式有两种:
借助构造函数或使用
对象初始化列表。
1. 借助构造函数或使用
new 运算表达式的圆括号中所带参数并不是任意的,圆括号中是否支持参数、可以携带几个参数是由对象所属类的构造函数形式决定的。
C#的类支持两种构造函数:实例构造函数和静态构造函数
实例构造函数是实现初始化类实例所需操作的成员。
静态构造函数是一种用于在第一次加载类本身时实现其初始化所需操作的成员。
C#类的静态构造函数初始化类层次的项目。通常,静态构造函数初始化类的静态字段。
类层次的项目初始化必须在任何静态成员被引用之前,同时也必须在该类的所有对象创建之前。
2. 实例构造函数
实例构造函数是一个特殊的方法,它在创建类的每个新对象时执行,用以初始化对象的状态。
实例构造函数应该声明为 public。
下面是实例构造函数的一般定义形式:
定义实例构造函数时需注意:
实例构造函数可以带有参数,也可以不带参数,
实例构造函数的参数设置决定了对象创建时 new 运算表达式中圆括号中的参数格式;
实例构造函数可以重载。
其他说明:
当类的声明中没有显式提供实例构造函数时,编译器会提供一个隐式的默认构造函数。
默认构造函数不带参数,并且方法体为空。
调用默认构造函数实现对象创建时,new 运算表达式后的圆括号内不能带有参数。
3. 静态构造
静态构造函数:
C#类的静态构造函数初始化类层次的项目。
通常,静态构造函数初始化类的静态字段。
类层次的项目初始化必须在任何静态成员被引用之前,同时也必须在该类的所有对象创建之前。
使用静态构造函数时,需注意:
静态构造函数只有一个,不能重载,并且不能带参数;
静态构造函数不能有访问修饰符,它由系统自动调用;
类的静态构造函数和实例构造函数可以共存;
静态构造函数不能访问类的实例成员。
代码示例
对象的引用
对象成员的引用形式为:
对象的运算同一类的两个对象支持赋值、相等与不相等运算。如下所示:
对象之间除了可以进行比较,赋值操作之外。还可以至此 is 和 as 运算符,is 和 as 运算符更多的应用于基类和派生类之间进行类型转换,详细说明在继承处讲解。
版权声明: 本文为 InfoQ 作者【陈言必行】的原创文章。
原文链接:【http://xie.infoq.cn/article/4d472e4db7ca0e4bb17466ac0】。未经作者许可,禁止转载。
评论