结构体和类的区别,联系

结构体和类的共同点:

都可以将多个数据封装为一个整体

结构体和类的不同点:

  • 结构体只能封装数据,而类还可以封装行为;
  • 结构体实例是值类型,类实例是对象类型
  • 结构体实例存储在栈空间,类实例存储在堆空间
  • 结构体变量赋值是值拷贝,类实例赋值是指针引用


应用场景:

 如果封装的这个数据,不仅有数据还有方法,只能使用类,

b. 如果表示实体,没有行为,光有属性,

            i.     如果属性较少,只有几个的情况下,就定义为结构体,分配在栈,提高运行效率

           ii.     如果属性较多,就不要定义为结构体,因为这样结构体变量会在栈中占据很大一块空间,反而会影响效率,则需要定义为类



 

posted @ 2017-06-01 13:47  shidaying  阅读(1800)  评论(0编辑  收藏  举报