黑马程序员技术交流社区
标题:
Struct和class区别?
[打印本页]
作者:
邬长星
时间:
2014-1-22 21:37
标题:
Struct和class区别?
本帖最后由 邬长星 于 2014-1-23 09:07 编辑
Struct和class区别?
作者:
j6495345
时间:
2014-1-23 00:08
struct是结构它是值类型,class是类,它可以new出来一个对象
作者:
王忠杰
时间:
2014-1-23 13:37
类的成员都要事先指定访问权限,结构体中的变量都可以随意访问;
类可以重载操作符、函数,结构体不行;
类可以继承,结构体不行;
类中可以定义虚函数,结构体不行。
类有构造和析构函数可以在对象生成或释放自动调用,结构体要做这些工作就得自己来了。
还有什么不同可以看看楼下还有什么意见。
作者:
wushanwow
时间:
2014-1-24 10:37
struct是类的常用精简版
作者:
yuanlianxi03
时间:
2014-1-25 01:23
结构与类共享大多数相同的语法,但结构比类受到的限制更多:
在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。
结构不能声明默认构造函数(没有参数的构造函数)或析构函数。
结构不能从类或其他结构继承。
结构在赋值时进行复制。将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。
结构是值类型,而类是引用类型。
与类不同,结构的实例化可以不使用 new 运算符。
结构可以声明带参数的构造函数。
一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。
结构可以实现接口。
结构可用作可为 null 的类型,因而可向其赋 null 值。
结构中不能声明用virtual修饰的方法,因为结构不允许继承和被继承,所以多态对于值类型没有意义
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2