你的位置:首页 > 软件开发 > 操作系统 > OC 类目、协议

OC 类目、协议

发布时间:2015-09-10 20:00:06
类目:为现有的类添加新方法1.需要添加该类的新方法,但是不能继承该类的情况下类目使用需要注意的问题: 1.类目里面不能添加实例变量,但是类目可以声明属性,但必须实现set get 方法,在这两个实现方法里面依然不能使用自己添加的实例方法 ...

OC 类目、协议

类目:为现有的类添加新方法

1.需要添加该类的新方法,但是不能继承该类的情况下

类目使用需要注意的问题:

         1.类目里面不能添加实例变量,但是类目可以声明属性,但必须实现set get 方法,在这两个实现方法里面依然不能使用自己添加的实例方法

         2.类目里添加的方法不能和原类中的方法重名,否则会导致覆盖

         3.一个类可以添加多个类目,但是类目名和方法名不能重复

         4.类目中的方法可以成为原始类的一部分,和原始类方法级别相同,可以被子类继承

类目的创建与使用:

OC 类目、协议

File:是类目的名称

File Type:是类型,这是选择Category

Class:是填写所要添加类目的类

OC 类目、协议

//添加后的类目名

OC 类目、协议

//在.h文件里添加方法-(void)hi;在.m文件实现

OC 类目、协议

在main文件里调用,记得导入类目文件

OC 类目、协议

这样,类目就创建并实现好

 

 

隐藏类目(延展):类目的私有方法

在需要添加类目的类的.m文件里面#import "类名"下面添加

//这一块就是延展(匿名类目)

@interface Student()

//建议把实例变量放在延展里面

{

    NSInteger _age;

}//解决需要添加私有方法,但是又不能声明在头文件声明的矛盾

@property(nonatomic,strong)NSString* name;

//在这里声明私有方法

-(void)printHello;

@end

 

这样一个匿名类目就完成了,需要注意的是在main的文件里可以printHello方法不能使用,printHello是私有方法,不能给其他类使用,只能由匿名类目的类去调用

 

协议:是一套标准,这个标准里声明了很多方法,但是补关心具体这些方法是怎么实现的,具体的实现是由遵循这个协议的类去完成

OC里面继承关系是单继承,但有时候我们需要使用多继承,这时候我们就可以使用协议


原标题:OC 类目、协议

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录