扫码阅读
手机扫码阅读
浅析面向过程、面向对象和面向协议编程
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
程序员华仔
扫码关注公众号
编程范式摘要
面向过程编程:以过程为核心,通过函数实现系统或业务的步骤。关注如何处理系统或业务的步骤。代表性语言包括C语言。
面向对象编程:以对象为中心,采用“万事万物皆为对象”的思想设计和开发系统。主要将业务拆解为对象,并着重处理对象间的关系。起初以Smalltalk语言为基础,后续C++和Java发展了OOP的概念。
面向协议编程:简称POP,是由Apple在WWDC2015推出,成为Swift基础库的编程范式。协议(Protocol)类似于Java中的Interface,但有所不同,主要用于模块间通信。协议在Objective-C中常与delegate结合使用,并可以通过协议实现类似多重继承的效果。Swift4.0.3版本之后,协议扩展还可实现多态功能。协议定义了一套规范,可被类、结构体和枚举遵循。
面向协议的编程目前主要在Swift语言中实现。与传统的OOP不同,POP不是创建类和实例来管理业务,而是首先定义一整套协议。例如,通过定义性别(Sex)、语言(Language)、人(Person)等协议,再让如Teacher类遵循这些协议来实现功能。从本质上看,POP是定义通用、可复用的最小原子规范,使其适应多样化的实例。
面向协议编程的优势:
- 协议可扩展且不影响现有系统。
- 协议可复用,更有效利用现有资源。
想要了解更多内容?
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
程序员华仔
扫码关注公众号
程序员华仔的其他文章
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线