OC 结构体与类的区别
来源:互联网 发布:美工设计是什么 编辑:程序博客网 时间:2024/05/22 01:59
1. 结构体与类的相同点:
a. 都可以将多个数据封装为1个整体。
<span style="font-size:18px;">struct Date{int year;int month;int day; }; @interface Date:NSObject{int year;int month;int day;}@end </span>
1. 不同点
a. 结构体只能封装数据,而类还可以封装行为
b. 结构体变量分配在栈空间(如果是是1个局部变量的情况下),而对象分配在堆空间。
i. 栈的特点:空间相对较小,但是存储在栈中得数据访问的效率稍高一些
ii. 堆的特点:空间的相对较大,但是存储在堆中的数据,效率低一些
iii. 存储在栈中得数据访问效率高, 存储在堆中得数据效率低
c. 赋值
i. 结构体 (拷贝)
ii. 对象之间 是(地址)
结构体 Student
类: Person
<span style="font-size:18px;"> Student s1 = {"jack",19,GenderMale}; Student s2 = s1; Person *p1 = [Person new]; Person *p2 = p1;</span>
iii.
2. 应用场景
a. 如果封装的这个数据,不仅有数据还有方法,只能使用类
b. 如果表示实体,没有行为,光有属性,
i. 如果属性较少,只有几个的情况下,就定义为结构体,分配在栈,提高运行效率
ii. 如果属性较多,就不要定义为结构体,因为这样结构体变量会在栈中占据很大一块空间,反而会影响效率
1. 定义为类
1 0
- OC 结构体与类的区别
- C# 结构体与类的区别
- 类与结构体的区别
- C#结构体与类的区别
- C#结构体与类的区别
- C# 结构体与类的区别
- 结构体与类的区别
- 结构体与类的区别
- 结构体与类的区别
- 结构体与类的区别
- C#结构体与类的区别
- C++-类与结构体的区别
- C# 结构体与类的区别
- 类与结构体的区别
- C#结构体+结构体与类的区别
- 类与结构的区别
- 类与结构的区别
- 结构与类的区别
- 读写分离之Amoeba
- 软工视频(前三章)
- hdu3499 分层图
- codevs 1046 旅行家的预算
- 安倍强行通过安保法案带来三大祸害
- OC 结构体与类的区别
- Android QQ消息列表(下拉刷新 +item侧滑 )
- Thymeleaf Javascript 取值
- Android Api Demos登顶之路(七十五)Graphics-->GradientDrawable
- HDU 5455 Fang Fang(关键就是c的个数)——2015 ACM/ICPC Asia Regional Shenyang Online
- 强连通分量-kosaraju算法
- BestCoder Round #56 (div.2)(Clarke and problem)
- linux进程通信--信号量
- eclipse配置流程