What does the Liskov Substitution Principle (LSP) require?
-
A
Objects of a superclass should be replaceable with objects of its subclasses without breaking program correctness
-
B
A class should have only one reason to change
-
C
High-level modules should not depend directly on low-level modules
-
D
Interfaces should be client-specific rather than general-purpose