招生热线
0755-86191118 0755-86191118
我的位置: 首页 > 学习专区 > .NET技术 > 结构和类有什么异同

结构和类有什么异同

2012-10-23 13:56:00
来源:
[导读] 类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始
类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。

如何选择使用结构还是类:

a) 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

b) 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

c) 在表现抽象和多级别的对象层次时,类是最好的选择

d) 大多数情况下该类型只是一些数据时,结构是最佳的选择

评论
相关文章