oc中的工厂设计模式

本文探讨了Objective-C(oc)中的工厂设计模式,通过一个NSString的例子展示了如何在OC语言中应用这一模式。基类的方法天然具备工厂模式的特性。同时,文章指出NSString类簇的构造函数可能返回的是子类对象,这导致子类无法直接调用工厂方法创建的对象,因为这将违反多态原则。此外,OC中的数组、字典等类型也广泛使用工厂方法,且对于可变类型,它们通过替换新对象来实现表面的可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OC中的工厂设计模式

拿NSString类为例,NSString类中本身定义的方法只有两三个(length等),但是为什么我们使用NSString对象的时候能调用如此多的方法?
这里就要引入分类的概念,我们随便调用一个NSString类方法,command进入其定义文件查看,发现这个方法会位于类似
@interface NSString (NSStringExtensionMethods)
这样的分类中

什么是工厂设计模式?
工厂设计模式就是调用一个方法,这个方法能够返回一个A类对象,那么这个方法就成为A类的工厂,(工厂的功能是制造,这里的工厂功能是制造对象),我个人称之为工厂方法
一句话,工厂方法就是能创建对象、返回对象的方法

而NSString的所有对象创建方法(工厂)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值