协议契约编程与代码复用最大化
1. 协议编程基础
在编程中,协议是一种强大的工具,它可以定义一组方法、属性和其他需求,而具体的实现则由遵循该协议的类、结构体或枚举来完成。
首先,我们需要创建一些协议来解决相关问题,这些协议包括:
- AbstractShape
- AbstractRegularPolygon
- AbstractEllipse
- AbstractRectangle
- AbstractCircle
创建这些协议后,我们要根据相关规范创建实现这些协议的类。以下是各个类及其遵循的协议列表:
| 类名 | 遵循的协议 |
| ---- | ---- |
| Shape | AbstractShape |
| Rectangle | AbstractRectangle, AbstractShape |
| RegularPolygon | AbstractRegularPolygon, AbstractShape |
| Ellipse | AbstractEllipse, AbstractShape |
| Circle | AbstractCircle, AbstractShape |
| EquilateralTriangle | AbstractRegularPolygon, AbstractShape |
| Square | AbstractRegularPolygon, AbstractShape |
| RegularHexagon | AbstractRegularPolygon, AbstractSh