Liskov Substitution Principle

States essentially that if X is a subtype of Y, then X may be used in substitution of Y without concern for correctness or task performed.

Open/Closed Principle

The concept states that classes should be open for extension but closed for modification.