结构体和类的共同点:
都可以将多个数据封装为一个整体
结构体和类的不同点:
- 结构体只能封装数据,而类还可以封装行为;
- 结构体实例是值类型,类实例是对象类型
- 结构体实例存储在栈空间,类实例存储在堆空间
- 结构体变量赋值是值拷贝,类实例赋值是指针引用
应用场景:
如果封装的这个数据,不仅有数据还有方法,只能使用类,
b. 如果表示实体,没有行为,光有属性,
i. 如果属性较少,只有几个的情况下,就定义为结构体,分配在栈,提高运行效率
ii. 如果属性较多,就不要定义为结构体,因为这样结构体变量会在栈中占据很大一块空间,反而会影响效率,则需要定义为类