UML interfaces are used to_____________________?

UML interfaces are used to_____________________?

A. specify required services for types of objects
B. program in Java, but not in C++ or Smalltalk
C. define executable logic to reuse across classes
D. define an API for all classes

Explanation: An interface is like a template design for a class that contains no data or implementation; only definitions for methods, properties etc