类
-
语法
- 类的声明
@interface 类名 : 类型 { //属性 } //方法的声明 @end 复制代码
- 类的实现
@implementation 类名 //方法的实现 @end 复制代码
-
方法的声明与实现
- 声明在
@interface
的大括弧外,@end
前 - 实现在
@implementation
之中
eg.
//不带参数的 -(void)output{ NSLog(@"Hello Objective-C"); } //带参数的 -(int)addNum1:(int)num1 ToNum2:(int)num2{ return num1+num2; } 复制代码
- 声明在
- 类的声明
-
一些规范与注意点
- 类名必须大写开头,如
@interface Person : NSObject
- 类属性以下划线开头,如
int _number
- 类的声明与实现都要存在
- 类名必须大写开头,如
对象
-
对象的创建
//类名 *对象名 = [类名 new]; Person *p1 = [Person new]; 复制代码
-
性质
- 对象拥有类中定义的所有成员
- 对象中的所有成员均可以直接访问
- 不同对象之间毫无关系
-
本质
- 在
Person *p1
时,会在内存中申请一个Person
类型的指针。 [Person new]
这段代码在内存中申请了一个空间,根据模板创建并初始化对象,然后返回对象地址。- 对象没有方法只有属性,对象的方法存在于类中,对象的isa指针指向对象所在的类。(可以根据指针调用类中的方法,用法为
[指针名 方法名]
)
- 在