您现在的位置是:首页 >

结构体和结构类型的区别 C#.net中类与结构的区别[2]

火烧 2021-08-06 23:35:39 1029
C#. et中类与结构的区别[2]    .继承性   结构 不能从另外一个结构或者类继承 本身也不能被继承 虽然结构没有明确的用 ealed声明 可是结构是隐式的 ealed   类 完全可扩展的

C#.net中类与结构的区别[2]  

   .继承性

  结构 不能从另外一个结构或者类继承 本身也不能被继承 虽然结构没有明确的用sealed声明 可是结构是隐式的sealed

  类 完全可扩展的 除非显示的声明sealed 否则类可以继承其他类和接口 自身也能被继承

  注 虽然结构不能被继承 可是结构能够继承接口 方法和类继承接口一样

结构体和结构类型的区别 C#.net中类与结构的区别[2]

  例如:结构实现接口

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  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码