What is an object interchangeable with, and what characteristic related to casting does this have?
An object can be used interchangeably with any of its superclasses and with any interface it implements, without the need to be cast.
In with context is, as an example, polymorphism commonly used?
Polymorphism is commonly used for method arguments.
What is programming to an interface?
Programming to an interface is the concept where the developer defines the required functionality instead of defining strict object data types.
Explain how interfaces are used in relation with polymorphism.
By implementing an interface, an object is declaring it has the functionality defined in the interface. This allows that object to polymorphically act as the interface.
Define the relation between subclass and class.
A subclass (more specific) “is-a” superclass (more general) object.
What is the consequence of using a more specific object polymorphically as a general one?
When a more specific object is polymorphically used as a general object, the more specific functionality is not available.
What does polymorphism stimulate?
Polymorphism stimulates code reuse.
What does programming to an interface allow?
Programming to an interface allows other developers to interact with the code using any object they choose as long as it implements the required interfaces.
What does polymorphism allow?
Polymorphism allows one object to act as either one of its superclasses, or as an interface that it implements.
Explain the meaning of "Polymorphism is unidirectional".
More specific objects can only polymorphically act as more general objects.