抽象类或协议,Cocoa推荐的做法是什么?

抽象类或协议,Cocoa推荐的做法是什么?,第1张

概述我不确定是否应该创建一个抽象类和一系列继承此抽象类的后代,或者定义一个协议. Cocoa的最佳做法是什么? 这取决于. 抽象类后代模式在Cocoa术语中称为类集群.众所周知的例子是NSString和NSArray.这种方法的主要优点是您可以在基类上实现方法,这些方法根据一组核心方法工作并且是继承的;例如,NSString的子类只需要实现-length和-characterAtIndex:以使所有公 我不确定是否应该创建一个抽象类和一系列继承此抽象类的后代,或者定义一个协议. Cocoa的最佳做法是什么?解决方法 这取决于.

抽象类后代模式在Cocoa术语中称为类集群.众所周知的例子是Nsstring和NSArray.这种方法的主要优点是您可以在基类上实现方法,这些方法根据一组核心方法工作并且是继承的;例如,Nsstring的子类只需要实现-length和-characteratIndex:以使所有公共Nsstring实例方法起作用(尽管它不会非常有效).

这种模式的缺点是实现必须从基类继承,这可能是单继承语言中的严重限制.

另一方面,协议可以被任何类采用,但不能提供基本实现.这很像是鸭子打字的静态检查版本;通过采用您声称可以嘎嘎叫的协议,并且通过要求协议,您可以将参数限制为具有quack功能的类,而无需特定的基类.

如果您计划为抽象提供一组标准实现,那么您可能需要一个类集群.如果要与实现抽象的开放对象集进行通信,则可能需要协议.

总结

以上是内存溢出为你收集整理的抽象类或协议,Cocoa推荐的做法是什么?全部内容,希望文章能够帮你解决抽象类或协议,Cocoa推荐的做法是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1002121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存