共同点: 都可以将多个数据封装为一个整体
不同点:
--1. 结构体只能封装数据 类可以封装行为
--2.结构体在内存中存在于栈上, 类对象存放于堆中
1. 栈的特点: 分配空间小 但是存在栈上的数据访问效率高
2. 堆的特点: 分配空间相对较大, 但是数据访问相对于栈,效率底下
-- 3. 结构体的赋值是copy, 类对象的赋值是地址赋值
-- 4. 类属性可以是结构体, 类具有继承
使用场景:
--1. 如果封装的不仅有数据还有方法, 只能使用类
--2. 如果表示实体, 没有方法,只有属性
1. 如果属性较少,只有几个的情况下,就定义为结构体, 存放栈中, 方便调用
2. 如果属性较多,就不要定义为结构体,因为这样的结构体在栈中会占用很多空间,反而会影响效率
网友评论