Contracts in Inheritance - Behavioral Subtyping | OneNoughtOne