Panana
Sir_Pan9527

导航

 
  1. 从内存角度:结构体为值类型,存在栈中。类为引用类型,存在堆中。
  2. 从声明角度:不存在静态结构体,可以有静态类。
  3. 从修饰角度:结构体成员只能公开化(public),类可公开可私有(private、protected)
  4. 从成员角度:结果不可用自己为成员,可能导致死循环,且不可以初始化,类可以自己为成员,可以初始化。
  5. 从构造角度:结构体不可以显示的声明无参构造,若要显示声明,必须将所有成员属性初始化,不可以声明析构函数。类可以显示声明无参构造,成员可初始化不全,当显示声明有参构造时,默认的无参构造将会不存在,达到规范书写的目的,但注意的是在继承中建议写上无参构造避免不必要的问题。
  6. 从垃收角度:结构体不可以声明析构函数。类可以声明析构函数。
  7. 从继承角度:结构体不可以作为基类,但可以实现接口。类可以作为基类和派生类,可以实现接口。(单继承)
  8. 从使用角度:结构体一般用于数据相关比较多,类用于操作相关比较多。当选择结构体时会减少垃圾回收。
  9. 结构体和类都具有面向对象封装的思想,结构体不具备继承,相对来说使用频率较少。但它的使用还是很有意思的,比如Mathf就是一个结构体。
posted on 2022-06-27 17:38  Pan_ana  阅读(88)  评论(0)    收藏  举报