扫码阅读
手机扫码阅读

【Swift】面向协议编程的实例

132 2024-07-13

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:【Swift】面向协议编程的实例
文章来源:
程序员华仔
扫码关注公众号
面向协议编程体会摘要

面向协议编程体会摘要

本文作者通过参与一个基于面向协议编程的项目后,总结了对面向协议编程的深刻认识并记录下来。

需求

项目需求是对动物园中的不同动物进行系统化管理,其中包括入库已有动物(猫、老鹰、鲨鱼)以及后续新加入的动物(海豚、鸵鸟、金鱼),并要求按类目对新动物进行分类处理。

面向对象编程实现

最初,作者使用面向对象编程方式实现了动物管理系统。创建了一个基类Animal,然后对不同的动物实现了继承和方法重写,新动物则通过新增类目进行管理。但是这种实现方式存在代码冗余、重复、子类过多和扩展性不佳的问题。

面向协议编程实现

为了优化代码,作者尝试了面向协议编程方式。定义了一个AnimalProtocol协议和其他能力相关的协议,比如Runable、Flyable和Swimmingable,动物类实现了相应的协议。这种方式确实带来了代码量减少、支持多重继承、协议可选性和更好的扩展性等优点。

总结

面向协议编程相较于面向对象编程,在代码管理和扩展性方面表现出更多优势,遵循了开闭原则,并减少了不必要的代码实现。

END

想要了解更多内容?

查看原文:【Swift】面向协议编程的实例
文章来源:
程序员华仔
扫码关注公众号