您现在的位置是:首页
>
结构体和结构类型的区别 C#.net中类与结构的区别[2]
C#. et中类与结构的区别[2] .继承性 结构 不能从另外一个结构或者类继承 本身也不能被继承 虽然结构没有明确的用 ealed声明 可是结构是隐式的 ealed 类 完全可扩展的
C#.net中类与结构的区别[2]
.继承性
结构 不能从另外一个结构或者类继承 本身也不能被继承 虽然结构没有明确的用sealed声明 可是结构是隐式的sealed
类 完全可扩展的 除非显示的声明sealed 否则类可以继承其他类和接口 自身也能被继承
注 虽然结构不能被继承 可是结构能够继承接口 方法和类继承接口一样
![结构体和结构类型的区别 C#.net中类与结构的区别[2]](http://img.zhputi.com/uploads/9b14/9b143ecd37f1ad7f27e28aa0dcf90fc931610.jpg)
例如:结构实现接口
interface IImage{void Paint();}struct Picture : IImage{public void Paint(){// painting code goes here}private int x y z; // other struct members}.内部结构
结构 没有默认的构造函数 但是可以添加构造函数 没有析构函数 没有 abstract 和 sealed(因为不能继承) 不能有protected 修饰符 可以不使用new 初始化 在结构中初始化实例字段是错误的
类 有默认的构造函数 有析构函数 可以使用 abstract 和 sealed 有protected 修饰符 必须使用new 初始化
三.如何选择结构还是类
讨论了结构与类的相同之处和差别之后 下面讨论如何选择使用结构还是类
. 堆栈的空间有限 对于大量的逻辑的对象 创建类要比创建结构好一些 . 结构表示如点 矩形和颜色这样的轻量对象 例如 如果声明一个含有 个点对象的数组 则将为引用每个对象分配附加的内存 在此情况下 结构的成本较低 . 在表现抽象和多级别的对象层次时 类是最好的选择 . 大多数情况下该类型只是一些数据时 结构时最佳的选择
lishixinzhi/Article/program/net/201311/15076 很赞哦! (1029)