黑马程序员技术交流社区
标题:
请问struct和class的区别有哪些
[打印本页]
作者:
夢醒了⊙﹏⊙b心
时间:
2013-8-5 09:47
标题:
请问struct和class的区别有哪些
请问struct和class的区别有哪些
作者:
胡盼盼
时间:
2013-8-5 10:15
1.struct 是值类型,class是对象类型
2.struct 不能被继承,class可以被继承
3.struct 默认的访问权限是public ,而class 默认的访问权限是private .
作者:
zhangcheng5468
时间:
2013-8-5 10:29
胡盼盼 发表于 2013-8-5 10:15
1.struct 是值类型,class是对象类型
2.struct 不能被继承,class可以被继承
3.struct 默认的访问权限是pub ...
类的默认访问权限好像是internal吧,在同一个Assembly中可以访问!
作者:
胡盼盼
时间:
2013-8-5 10:42
在类这个级别,不写访问修饰符默认为internal,但在类中定义变量或方法时,没写访问修饰符,那么会默认为private
作者:
范国伟
时间:
2013-8-5 16:30
1.性质不同
class是引用类型,继承自System.Object类
struct是值类型,继承自System.ValueType类
2.职能不同
class于封装行为(方法)
struct用于存储数据
3.特性不同
class支持继承,可以继承类、实现接口
struct不能继承类,也不能作为其他类的基类,但可以实现接口
class可以为抽象类,也可以声明抽象方法
struct不能为抽象,也不能声明抽象函数
4.实例化方式不同
class必须使用new关键字实例化
struct不需要使用new关键字
5.内存回收机制不同
class实例由垃圾回收机制来保证内存的回收处理
struct变量使用完后立即自动解除内存分配
鉴于struct占用的是栈空间,效率上会稍高一些,但容量相对较小,可以在存储少量数据时考虑使用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2