美文网首页
通过协议提供匿名对象--Effective笔记

通过协议提供匿名对象--Effective笔记

作者: 夜者无念 | 来源:发表于2017-05-25 10:31 被阅读25次

协议定义了一系列方法,遵从此协议等对象应该实现它们(如果这些方法不是可选的,那么就必须实现)。于是,我们可以用协议把自己所写的API之中的实现细节隐藏起来,将返回的对象设计为遵从协议的 纯id 类型。这样的话,想要隐藏的类名就不会出现在API之中了。若是接口背后有多个不同的实现类,而你又不想指明具体使用哪个类,那么可以考虑用这个办法-------因为有时候这些类可能会变,有时候它们又无法容纳于标准的类继承类中,因而不能以某个公共基类来统一表示。

此概念经常称为“匿名对象”,与其他语言的匿名对象不同(指以内联形式所创建出来的无名类)。

1,协议可在某种程度上提供匿名类型。具体的对象类型可以淡化成遵从某协议的id类型,协议里规定了对象所应实现的方法。

2,使用匿名对象隐藏类型名称(或类名)。

3,如果具体类型不重要,重要的是对象能够响应(定义在协议里的)特定方法,那么可使用匿名对象来表示。

相关文章

网友评论

      本文标题:通过协议提供匿名对象--Effective笔记

      本文链接:https://www.haomeiwen.com/subject/jjunxxtx.html