类簇
2015-09-12 15:09
155 查看
摘要: 类簇与自定义工厂类
声明一个类,在.m中声明它的子类,并实现父类声明但没有实现的方法
下面是一个动物类的类簇(此类不能被继承,如NSString,NSArray,NSDictionary,NSNumber等)
.m文件
#import "Animal.h"
//-----------狗类----------
@interface Dog : Animal
@end
@implementation Dog
-(void)run{
NSLog(@"狗在跑");
}
@end
//----------猫类-----------
@interface Cat : Animal
@end
@implementation Cat
-(void)run
{
NSLog(@"猫在跑");
}
@end
//----------Animal实现--------
@implementation Animal
+(instancetype )creatDog{
Dog *dog=[[Dog alloc] init];
return dog;
}
+(instancetype )creatCat{
Cat *cat=[[Cat alloc] init];
return cat;
}
@end
.h文件
#import <Foundation/Foundation.h>
@interface Animal : NSObject
-(void)run;
+(instancetype )creatDog;
+(instancetype )creatCat;
@end
声明一个类,在.m中声明它的子类,并实现父类声明但没有实现的方法
下面是一个动物类的类簇(此类不能被继承,如NSString,NSArray,NSDictionary,NSNumber等)
.m文件
#import "Animal.h"
//-----------狗类----------
@interface Dog : Animal
@end
@implementation Dog
-(void)run{
NSLog(@"狗在跑");
}
@end
//----------猫类-----------
@interface Cat : Animal
@end
@implementation Cat
-(void)run
{
NSLog(@"猫在跑");
}
@end
//----------Animal实现--------
@implementation Animal
+(instancetype )creatDog{
Dog *dog=[[Dog alloc] init];
return dog;
}
+(instancetype )creatCat{
Cat *cat=[[Cat alloc] init];
return cat;
}
@end
.h文件
#import <Foundation/Foundation.h>
@interface Animal : NSObject
-(void)run;
+(instancetype )creatDog;
+(instancetype )creatCat;
@end
相关文章推荐
- 创建实体数据模型(EF基础系列5)
- 【项目三之经典问题——汉诺塔】
- 最小二乘法的几何解释
- [Wed, 19 Aug 2015 ~ Tue, 25 Aug 2015] Deep Learning in arxiv
- intel ipp6.0安装过程
- 堆排序
- Iterator和ListIterator
- golang gRPC示例
- poj 3070 Fibonacci 矩阵快速幂 模板题
- 【LeetCode】172. Factorial Trailing Zeroes
- python-正则表达式中的分组 group
- weblogic密码丢失的解决办法
- 软件测试基础知识点及TestLink、Mantis的使用
- Ubuntu JavaWeb类型项目一条龙环境搭建
- NC服装裁割文件优化系统研发
- 计算器--gtk--003
- iOS 数组和字典排序
- 自定义的BaseAdapter实现LIstView的展示
- XMPP ejabberd服务 Mac 安装
- Windows7 原版下载大全