黑马程序员技术交流社区
标题:
.net中类和结构有什么区别
[打印本页]
作者:
何学强
时间:
2012-9-29 16:11
标题:
.net中类和结构有什么区别
.net中类和结构有什么区别
作者:
晋志强
时间:
2012-9-29 16:17
结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。
作者:
雷向阳
时间:
2012-9-29 17:32
类是引用类型,结构是值类型。结构无构造函数,类没有。。
作者:
刘俊红
时间:
2012-10-3 20:11
补充楼上两位同学所说的:
结构类型不支持用户指定的继承,并且所有结构类型都隐式地从类型 object 继承。--C#4.0语言规范 p25
意思就是程序员不能显式手动的继承一个类。
作者:
和志强
时间:
2012-10-4 12:02
结构:结构是值类型,值类型在栈上分配实例,不能从另外一个结构或者类继承,本身也不能被继承,虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一 样,没有默认的构造函数,但是可以添加构造函数,没有析构函数
类:类是引用类型,引用类型在堆上分配实例----------(结构没有的我都有{:soso_e144:})
堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑
总结:
在表现抽象和多级别的对象层次时,类是最好的选择
多数情况下该类型只是一些数据时,结构是最佳的选择
栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2