我正在阅读另一个SO问题,Swift do-try-catch语法.在他的回答中,rickster为OP的自定义类创建了一个扩展.Konrad77评论说这是"保持代码清洁的绝佳方式".我尊重他们的知识,这让我相信我在自己的代码中错过了一点.
是否还有其他好处(除了清洁度)或为我创建的课程创建扩展的原因?我可以直接将相同的功能放入类中.如果我是唯一一个使用该课程的人,或者其他人将访问它,答案是否会改变?
如果我有一个类Christmas和一个协议Merry,为了使Christmas符合Merry,许多人会这样做:
class Christmas {
...
}
extension Christmas: Merry {
...
}
Run Code Online (Sandbox Code Playgroud)
它也受到Apple的鼓励.
但是,在定义类时,让类符合协议是不是更方便?像这样:
class Christmas: Merry {
...
}
Run Code Online (Sandbox Code Playgroud)
两种方法有什么区别?
swift ×2