zoukankan      html  css  js  c++  java
  • 类和结构的区别?

    1、类是引用类型,因此其引用存放在栈(Heap)中,而其数据存放在堆(Stack)中。结构是值类型,存放在栈(heap)中。因此,结构适合处理数据量较小的数据。

    2、结构是隐式密封的(Sealed),因此不能被继承。当可以实现接口。

    3、内部结构:

      结构:

      没有默认的构造函数,但是可以添加构造函数

      没有析构函数

      没有 abstract 和 sealed(因为不能继承)

      不能有protected 修饰符

      可以不使用new 初始化

      在结构中初始化实例字段是错误的

      类:

      有默认的构造函数

      有析构函数

      可以使用 abstract 和 sealed

      有protected 修饰符

      必须使用new 初始化

     

      如何选择结构还是类

      讨论了结构与类的相同之处和差别之后,下面讨论如何选择使用结构还是类:

      1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

      2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

      3.在表现抽象和多级别的对象层次时,类是最好的选择

      4.大多数情况下该类型只是一些数据时,结构时最佳的选择

  • 相关阅读:
    制作一个螺旋矩阵
    通过C++修改系统时间代码
    绝对值最小
    compile cmdow
    2017-10-04清北模拟赛
    2017-10-03清北模拟赛
    2017-10-01清北模拟赛
    HTML容易遗忘内容(二)
    SSM框架关于后台返回JSON数据中显示很多不需要的字段为NULL
    关于Unix时间戳转北京时间的问题
  • 原文地址:https://www.cnblogs.com/Tally/p/2525781.html
Copyright © 2011-2022 走看看