码迷,mamicode.com
首页 > 其他好文 > 详细

OC 类目、协议

时间:2015-09-10 21:09:16      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

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

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

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

类目的创建与使用:

技术分享

File:是类目的名称

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

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

技术分享

//添加后的类目名

技术分享

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

技术分享

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

技术分享

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

 

 

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

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

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

@interface Student()

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

{

    NSInteger _age;

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

@property(nonatomic,strong)NSString* name;

//在这里声明私有方法

-(void)printHello;

@end

 

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

 

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

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


File:协议名字

File Type:类型(选择Protocol)

技术分享

 

 

技术分享

//创建Student类,

Student.h文件

技术分享

Student.m

实现协议里面的方法

技术分享

在main文件里面实现

 

技术分享

 

 

这样,一个简单的协议就已经实现

 

OC 类目、协议

标签:

原文地址:http://www.cnblogs.com/mojiewei/p/4798857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!