Boz*_*zho 14
阅读维基百科文章
读一本书,然后再读一下有关OOP的章节
在您的示例中,Person应该是一个类,因为它包含a 和a 共有的实现细节.DoctorCustomer
接口没有(也不需要)的实施细则-他们只表示是什么,其实现他们正在做的对象.不怎么样.为什么这有用?因为当你使用这个对象时,你并不关心它是如何完成它的工作的.
让我们看一个简单的例子 - 有一个接口Comparable(至少在Java中).它表示它的实现者可以相互比较.所以你可以有两个类:
class Doctor implements Comparable {..}
class Customer implements Comparable {..}
Run Code Online (Sandbox Code Playgroud)
现在你可以有一个通用方法,它接受任何实现Comparable和调用的对象集comparable1.compareTo(comparable2),因为你知道它们可以执行比较 - 它由它们的接口表示.
mar*_*lai 11
扩展另一个类的类继承该行为.另一方面,实现一个接口只是说它需要表现那样,但是类仍然必须知道如何操作.
除了单继承限制之外,使用接口的代码更容易重构和测试,例如在单元测试中为数据库访问对象提供模拟实现.
所以,真正的答案是,这取决于你的设计.
可能是您使用接口来描述行为,并使用抽象父类来实现子类可以继承的行为.或者子类是如此不同,每个子类都以自己的方式实现接口.