oc57--Category 分类】的更多相关文章

/* 使用继承关系来扩充一个类,有一个弊病,高耦合性 category(分类,类别) 能够帮我们扩充一个类的功能 */ - (void)superJump { //    [self eat]; [self setAge:10]; _age = 20;//只要是在原类中生成的成员变量都可以在分类中直接访问 NSLog(@"超级跳"); } //如果分类中定义实现了与原类中相同的方法,那么原类中的方法相当于被覆盖掉了 //在实际的开发中,最好不要出现方法覆盖 - (void)eat {…
Objective-C中的Category(分类) 1 Category概念:动态的为已经存在的类加入新的行为(方法) 2 Category(分类)创建的方法 (1)通过Xcode生成分类 (2)能够手动生成分类,在头文件中面生成2个@interface 比如: 在Student.h文件里 @interface Student:NSObject -(void)test1; @end 以下是Student的分类,test为分类的名称 @interface Student(test) -(void)…
在写点击博客的所属分类,显示所有该分类的文章时真是让我想了好一会,为什么呢?因为我使用的是cbv模式开发的而不是简单的视图处理逻辑的,所以,有些操作会被包装好了,你并不知道它的细节,那么我们今天要实现的这个功能需要得到GET请求的category参数,那就麻烦了. 一开始,我以为需要重写它包装好的get()函数,结果弄了好一会后发现根本不好用. 后来,实在是没办法了,参照网上的说法,看了一看django源码,哇,效果果然显著,原来我们继承的ListView和MultipleObjectMixin…
分类: 主要是给原来类增加一些方法;不可以增加成员变量 Person (Person+eat) 非正式协议: 非正式协议就是类别,即凡是NSObject或其子类Foundation框架中的类增加的类别,都是非正义协议 给NSObject写一个类别,NSObject 类名(eat),NSObject子类都可继承里面的方法 分类(category)延展 延展类别又称类的扩展:类扩展中可以声明属性 @interface Person()// 类扩展 { // 添加属性 int _age: } // 扩…
1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之后的一对圆括号 "( )" 中. @interface QCStudent (Print) @end @implementation QCStudent (Print) @end 分类文件名使用符号"+"来分隔类和分类的名字(Xcode 会自动生成). QCStuden…
A.给某个类扩充方法(不改变原来的类) 例如,给类Person加上名为Simon的category,加上一个-study方法 使用()注明 Person+Simon.h @interface Person (Simon) - (void) study; @end Person+Simon.m @implementation Person (Simon) - (void) study { NSLog(@"学习----"); } @end   使用: #import <Foundat…
1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之后的一对圆括号 "( )" 中. @interface CHStudent (Print) @end @implementation CHStudent (Print) @end 分类文件名使用符号"+"来分隔类和分类的名字(Xcode 会自动生成). CHStuden…
用过别的语言做过开发的同学都知道,如果你想扩充一个类,就应该去继承这个类.但是OC里面有更好的方法,那就是分类. 那什么是分类呢?就是在不改变原先类,我们可以在其中添加咱们自定义的方法,这样和同事合作的时候,就用不着担心合并 代码产生的冲突了~因为我们可以定义属于自己的分类.但是使用分类的时候却不能向原先类中添加字段,如果想添加方法,那 应该使用继承来实现. 话不多说,我们直接上代码,我前几篇日志中提到一个student类,里面的方法是在是太单调了,只有一个keepBook的方法,现在 我需要让…
// ()代表着是一个分类 // ()中的Test代表着分类的名称 @interface Student (Test) // 分类只能扩展方法,不能增加成员变量 - (void)test2; @end…
易忘,所以留存: 1, 2, 3, 结果如下: 补充: http://tech.meituan.com/DiveIntoCategory.html…