构造方法
1,重写 —init方法
(1),类型用id类型
> 万能指针,能指向\操纵任何OC对象,不用加*
> id == NSObject *
(2,一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性
(3),如果对象初始化成功,才有必要进行接下来的初始化
if(self!=nil)
{
_age = 10;
}
(4),返回一个已经初始化的对象
return self;
(5),重写 —init方法标准写法
- (id)init
{
if (self = [super init])
{
_age = 10;
}
return self;
}
2,自定义构造方法的规范
(1). 一定是对象方法,一定以 -开头
(2). 返回值一般是id类型
(3). 方法名一般以init开头
(4). 父类的属性交给父类方法去处理,子类方法处理子类自己的属性.
Category 分类,类别,类目
分类:可以给某一个类扩充一些方法(不修改原来类的代码)
使用注意:
1,分类不能扩充成员变量,只能增加方法
2,分类方法实现中可以访问原来类中的成员变量。
3,分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用
4,方法调用的优先级:分类(最后参与编译的分类优先)——>原来类——>父类
5,一般将分类的作用给分类命名。