面向协议的编程为继承的上层编程打开了大门。

当讨论架构时,OOP在界面的帮助下是足够开放的。 但是程序员总是必须在子类中实现它。 在不知不觉中, OOP似乎鼓励我们专注于较低继承级别的编程 。 当我们认为自己的架构足够好时,顶级世界立即冻结了,但是一两个月之后,事实并非如此。

例如,下面是OOP中接口的常用实现

 类狗扩展动物工具可移动{ 
func move(){
//狗的运动
  } 
  } 

但是, 面向协议的编程为上层编程打开了一扇门 。 您可以在上层而不是下层子类中实现。 这是一个完全新鲜的想法。

在POP中实施协议

 扩展名可移动自我:狗{ 
func move(){
//狗的运动
  } 
  } 

很难说POP比OOP好得多,但是很明显,凭借上层编程的力量,POP更加灵活。 享受面向协议的编程,不要过度使用它。