当前位置:嗨网首页>书籍在线阅读

15-类和结构的关系

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.4.2 类和结构的关系

类和结构实际上都是创建对象的模板,都可以包含构造函数、常数、字段、方法、属性、索引器和运算符等成员。二者的主要区别如下。

(1)结构是值类型,类是引用类型,在内存中结构是存储在堆栈上的值类型,类是存储在堆(heap)上的引用类型。

(2)结构的构造函数和类的构造函数不同,结构不能包含显式的无参数构造函数,结构成员会自动初始化为它们的默认值。结构不能包含以下形式的初始值设定类:base(参数列表)。

(3)对于结构中的实例字段成员,不能在声明时赋值初始化。

(4)声明了结构类型后,可以使用new运算符创建构造对象,也可以不使用new关键字。如果不使用new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。

(5)结构不支持继承,即一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。