Liskov Substitution principle

Let's remember this definition: subtypes must be substitutable for their base types. This means that this should happen without breaking the execution or losing any other kind of functionality.

You'll notice that this idea lies behind the basic principles of inheritance in the OOP programming paradigm.

If you have a method that requires an argument of the Person type (let's put it that way), you can pass an instance of another class (Employee, Provider, and so on) as long as these instances inherit from Person.

This is one of the main advantages of well-designed OOP languages, and the most popular and accepted languages support this characteristic.

Back to the code again

Let's take a look at the support inside our sample, ...

Get Mastering C# and .NET Framework now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.