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

oc中 结构体与类的区别

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

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

不同点:

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

使用场景:

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

相关文章

  • 第九章 类和结构体

    c++中,结构体是稍有不同的类,类能做的,结构体也可以; 而swift中,结构体与类有较大区别, 结构体与类的区别...

  • Objective-C基础

    OC OC知识点 OC的字符串 - 1.类:是结构体的升级,用于定义变量 - - 与结构体的区别 关键字 成员变量...

  • 结构体和类的区别

    一、定义一个结构体 二、使用 三、结构体和OC类的区别 结构体: 只能封装属性,不能封装方法; 分配在栈上 OC类...

  • oc中 结构体与类的区别

    共同点: 都可以将多个数据封装为一个整体 不同点: --1. 结构体只能封装数据 类可以封装行为--2.结构体在...

  • 面经---依依短租

    1. 结构体、共用体、类 C++中结构体与类的区别: 结构体中的成员访问权限不声明时候默认是 public 的,而...

  • 从结构体和类的区别到自定义结构体

    结构体和类的区别 1、结构体只能封装属性,类却不仅可以封装属性也可以封装方法。 2、结构体变量分配在栈,而OC对象...

  • OC中类class与结构体struct的区别

    class 类对应的对象引用类型:位于栈上的指针,堆上存储真正的值具备继承的特性能实现方法 struct 结构体对...

  • Swift5 _07_多态原理_初始化

    多态 结构体struct与类class 的区别(1)结构体是值类型、类是引用类型(2)类可以继承,结构体不能继承(...

  • iOS:弄懂OC中的类与元类

    首先,来看看什么是类。类在OC中其实是一个指向objc_class的结构体指针,结构体的构造为: OC中对象的定义...

  • 十二月第三周

    1.swift中closure与OC中block的区别?1>、closure是匿名函数、block是一个结构体对象...

网友评论

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

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