The BEST use of an interface is to:
A.
allow different classes to assume the same role.
B.
logically support multiple inheritance.
C.
specify the full API of an application for use by other systems.
D.
define constants to coordinate semantics across the system.