type
status
date
slug
summary
tags
category
icon
password
1. 类的定义格式
头文件(.h)
实现文件(.m)
2. Extension(类扩展)
在Objective-C中,我们可以在.m文件中使用Extension(也称为私有类扩展)来声明一些私有属性和方法。这种方式有以下特点:
- .h文件中的interface: 用于声明公开的属性和方法,其他类可以访问这些内容
- .m文件中的interface: 使用空括号@interface Person() 定义私有属性和方法,这些内容只能在类的内部使用
这种设计模式有助于实现封装性,让类的实现细节对外部保持私密性,同时保持公开接口的简洁。
3. 关键概念解释
属性修饰符
- 原子性:
- atomic - 默认值,线程安全但性能较差
- nonatomic - 非原子性,性能更好
- 内存管理:
- strong - 强引用,用于OC对象
- weak - 弱引用,避免循环引用
- assign - 用于基本数据类型
- copy - 复制对象
- 读写权限:
- readwrite - 默认值,可读可写
- readonly - 只读属性
4. 方法定义与使用
实例方法
以减号(-)开头定义,属于具体的对象实例。实例方法只能通过实例对象来调用,可以直接访问对象的属性和其他实例方法。
类方法
以加号(+)开头定义,属于类本身。类方法可以直接通过类名调用,无需创建实例,但不能直接访问实例变量。常用于工具方法或创建实例的工厂方法。
类比理解:如果把类比作图书馆,那么:
- 实例方法就像图书管理员的具体工作(如整理书籍、借还书等),需要有一位管理员在岗才能执行
- 类方法就像图书馆的规章制度(如开放时间、借书规则等),不需要管理员在场也能知道和执行
5. 类的继承
6. 协议(Protocol)定义
协议(Protocol)是Objective-C中定义一组方法的方式,类似于其他语言中的接口(Interface)概念。协议定义了一组方法声明,但不包含具体实现。主要特点包括:
- @required 方法: 采用该协议的类必须实现这些方法,否则编译器会发出警告
- @optional 方法: 可选方法,类可以选择是否实现这些方法
协议的使用场景:
- 定义代理(Delegate)模式时,用于实现对象之间的通信
- 确保类实现特定的功能接口
- 实现多继承的效果,因为OC只支持单继承
在使用协议时,通常需要在实现类中检查可选方法是否可用:
7. 类别(Category)定义
以上就是Objective-C中面向对象编程的主要组成部分。在实际开发中,需要根据具体需求选择合适的特性来构建应用程序。
- Author:akinIan
- URL:blog.akinaustin.space/article/1e5e7ea2-ebf7-8065-9f74-dc91050459f8
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!




