试图理解我在测试中出错的问题:
继承与实现接口有何不同?
- 通过继承,类从其超类获得行为。
- 使用接口,类从它实现的接口中获得行为。(这是我选的那个)
- 通过继承,一个类必须实现其超类定义的方法。
- 使用接口,一个类从它实现的接口中获得实例变量和行为。
我的想法是接口定义行为,而超类定义特征......或者它们是否相同?还是我的理解完全倒退了?
编辑:我想我应该指定我确实知道接口和继承之间的区别。我只是想知道使用术语behavior的两个选项。我不知道教授是否对术语吹毛求疵,或者他是否问得不好。
我知道当你实现一个接口时,你必须实现接口中定义的所有方法。因此,我会说接口定义了一个类必须具有的行为,但是扩展了另一个超类(尽管它确实也定义了一些行为(可以给子类更多的行为),它似乎并不像定义行为的接口。如果类实现了接口,则可以确定它具有某些行为。
也许这个问题是要问接口本身是否有行为代码,或者它是否只是定义——如果这样说的话,我会知道答案的。