美文网首页
ios替代继承的三两方法

ios替代继承的三两方法

作者: 被吹落的风 | 来源:发表于2018-03-14 17:40 被阅读31次

代码复用,尽管他们都可以通过继承实现,但是我们为了在没有耦合需求的时候尽量不要使用继承,而是根据不同场景采用不同复用代码的方式。

  • 如果只是共享接口,我们可以使用协议
  • 如果是希望共用一个方法的部分实现,但希望根据需要执行不同的其他行为,我们可以使用代理
  • 如果是添加方法,我们可以优先使用类别
  • 如果是为了使用一个类的很多方法,我们可以使用组合来实现。

总结
如果当初只是出于代码复用的目的而不区分类别和场景,就采用继承是不恰当的。当你发现你的继承超过2层的时候,你就要好好考虑是否这个继承的方案了,第三层继承正是滥用的开端。确定有必要之后,再进行更多层次的继承。我认同Casa的看法:万不得已不要用继承,优先考虑组合等方式。

相关文章

网友评论

      本文标题:ios替代继承的三两方法

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