OC-工厂模式
来源:互联网 发布:利达消防报警主机编程 编辑:程序博客网 时间:2024/05/17 16:14
工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类
什么时候可以使用工厂模式:一个类不知道它所必须创建的对象的类时,一个类希望有它的子类决定所创建的对象时。
//创建一个Animal类,拥有eat方法。再创建Cat、Dog类继承于Animal类,重写eat方法(忽略不写)//创建一个AnimalFactory,里面拥有两个方法,分别是createDog,createCat,并实现两个方法AnimalFactory.h文件声明方法+ (Dog *)createDog;+ (Cat *)createCat;AnimalFactory.m文件实现方法+ (Dog *)createDog{ Dog *dog = [Dog new]; return dog;}+ (Cat *)createCat{ Cat *cat = [Cat new]; return cat;}
//在ViewController.m文件写入Dog *dog = [AnimalFactory createDog];Cat *cat = [AnimalFactory createCat];[dog eat];[cat eat];//打印结果,调用成功
我们也可以分别创建CatFactory、DogFactory,通过指定工厂创建指定对象
//分别创建CatFactory、DogFactory,继承于AnimalFactory,并在AnimalFactory里声明一个方法 creatAnimalAnimalFactory.h文件写入- (Animal *)creatAnimal;
//在CatFactory、DogFactory中重写 creatAnimal 方法CatFactory.m文件写入- (Animal *)creatAnimal{ return [Cat new];}DogFactory.m文件写入- (Animal *)creatAnimal{ return [Dog new];}
在ViewController.m文件写入//创建一个工厂,为“猫工厂”AnimalFactory *factory = [CatFactory new]; //使用“猫工厂”创建cat Animal *animal = [factory creatAnimal];[animal eat];
0 0
- oc工厂模式方法
- OC工厂模式
- OC-工厂模式
- oc中的工厂设计模式
- OC的类族以及工厂模式
- OC的类族以及工厂模式
- OC学习日记015-工厂模式
- headFirst学习13.简单工厂模式与OC反射机制
- 【iOS开发】类簇--抽象工厂模式在OC中的使用
- OC工厂类
- 【iOS开发系列】用简单工厂模式理解OC反射机制
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- SpringAOP:目标类如何向切面类中传参
- js判断是否安装app,安装打开app
- 尚学堂hadoop大数据培训Hadoop安装配置
- 表(算法分析与设计笔记)
- Java反射机制的原理及在Android下的简单应用
- OC-工厂模式
- 美国专利类型简介
- sphinx的配置文件
- dubbo和zookeeper的使用
- UVA10010 - Where's Waldorf?
- Java中的反射机制(附实例程序)
- 负能量
- [Widget]IndicatorTabStrip-移动式下标渐变缩放Tab
- POJ 3067 Japan