美文网首页
oc中 结构体与类的区别

oc中 结构体与类的区别

作者: LZM轮回 | 来源:发表于2016-11-04 19:53 被阅读267次

    共同点: 都可以将多个数据封装为一个整体

    不同点:

    --1. 结构体只能封装数据 类可以封装行为
    --2.结构体在内存中存在于栈上, 类对象存放于堆中
    1. 栈的特点: 分配空间小 但是存在栈上的数据访问效率高
    2. 堆的特点: 分配空间相对较大, 但是数据访问相对于栈,效率底下
    -- 3. 结构体的赋值是copy, 类对象的赋值是地址赋值
    -- 4. 类属性可以是结构体, 类具有继承

    使用场景:

    --1. 如果封装的不仅有数据还有方法, 只能使用类
    --2. 如果表示实体, 没有方法,只有属性
    1. 如果属性较少,只有几个的情况下,就定义为结构体, 存放栈中, 方便调用
    2. 如果属性较多,就不要定义为结构体,因为这样的结构体在栈中会占用很多空间,反而会影响效率

    相关文章

      网友评论

          本文标题:oc中 结构体与类的区别

          本文链接:https://www.haomeiwen.com/subject/cuswuttx.html