Liskov substitution principle (LSP) is a simple pattern in object-oriented programming, notice about definition If A is a subtype of B, then object of B could be replaced with an object of A, in another definition subclass can behave like base class. maybe you are using it for years, take a look at the example:
public class BaseClass { public string ProductName { get; set; } public virtual void Shipping() { // } public virtual void Order() { // } }
and about the derived class called DerivedClass
public class DerivedClass :BaseClass { public string CustomerInfo { get; set; } public void DeliveryAddress() { // } public override void Shipping() { base.Shipping(); } public override void Order() { base.Order(); } }
It's clear that derived class override the virtual methods of the base class, and can be used In derived class objects, see the usage
public class Present { public static void Main() { var baseClass = new DerivedClass(); baseClass.ProductName = "Vibrator"; baseClass.Shipping(); baseClass.Order(); } }