OC_工厂模式

来源:互联网 发布:javascript精粹 编辑:程序博客网 时间:2024/06/16 15:06

工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父亲。

简单的工厂模式

创建一些类

在AnimalFactory.h中导入Dog和Cat的头文件

创建一个Dog和Cat类的类方法
+( Dog * ) createDog;
+( Cat * ) createCat;

因为传入了Dog和Cat,他们又是Animal类的子类,所以这里可以直接用Animal类
-( Animal * ) createrAnimal;

给Dog和Cat都创建一个工厂 继承于AnimalFactory
因为CatFactory继承AnimalFactory so
-( Animal * )createAnimal{
return [Cat new];
}
直接用Cat初始化一个cat返回Animal
DogFactory也一样 用Dog。。。
这样调用的时候就直接可以产生一个cat、dog返回

在ViewController.m中实现
AnimalFactory *factory = [CatFactory new];
用父类去接收子类创建的工厂,只要修改CatFactory下面创建的就是
另外一个子工厂的

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 联通4g玩游戏卡怎么办 华为悦盒遥控器丢了怎么办 6s不能用电信卡怎么办 iphone6电信卡无服务怎么办 魅族手机电信卡怎么办 小米手机读不出sim卡怎么办 魅蓝note6耗电快怎么办 oppo手机下载密码忘了怎么办 华为v9玩飞车卡怎么办 苹果7耳机转换器不支持怎么办 华为mate10耳机声音小怎么办 200打一年到期了怎么办 手机欠费变成2g怎么办 手机4g网用不了怎么办 手机玩王者荣耀卡怎么办 华为隐私空间密码忘记了怎么办 华为手机王者太卡怎么办 华为手机太卡怎么办呢 华为手机5x太卡!怎么办 华为手机玩游戏时太卡了怎么办? 买到华为翻新机怎么办 华为畅享8声音小怎么办 华为5a安全模式怎么办 手机跳屏怎么办金立 苹果手机触控不灵敏怎么办 华为mate8手机声音小怎么办 华为mate9相机无法对焦怎么办 新疆外地电信卡信号差怎么办 华为手机搜索不到wifi怎么办 华为浏览器恢复只有一个页面怎么办 华为手机触摸屏没反应怎么办 快递不给送上楼怎么办 华为荣耀手机声音小怎么办 华为手机来电铃声小怎么办 s弯出来时老压线怎么办 苹果7p手机弯了怎么办 小米手机摔弯了怎么办 华为畅享5没声音怎么办 掌阅语音闪退怎么办 华为mate开屏成排线怎么办 华为mate8电池坏了怎么办