0

在此处输入图像描述

从设计的角度来看,我可以说接口用于生成灵活的代码,以便将来易于维护。提到案例研究,我是否正确地说:

使用此示例中的接口是因为 Professor 和 HeadofDept 类都具有雇用人员的权力。假设我们可能会在不久的将来添加其他可能被授予雇用人员的权利的人。

感谢您的关注。

4

1 回答 1

1

接口将允许您的代码在基本类型(即 EmployerProfessor)上调用诸如employPeople() 之类的方法。所以你传递 EmployerProfessor 对象和代码不需要知道确切的实现是什么,它只知道它可以调用employPeople()。因此它允许动态调度方法调用。使用一些编译器实现(vtable 等),它将为您调用正确的方法。

接口并不总是那么灵活,很难改变一个接口,因为当前的代码可能会受到影响。接口提供了一个约定,它告诉实现它的类,您必须提供以下方法。

于 2012-07-30T12:18:42.823 回答