Liskov Substitution Principle (LSP) کہتا ہے کہ ایک subtype کے objects اپنے base type کی جگہ استعمال ہو سکتے ہیں پروگرام کی درستگی کو نقصان پہنچائے بغیر۔ اگر کوڈ Base کے ساتھ کام کرتا ہے، تو یہ کسی بھی Subclass کے ساتھ کام کرنا چاہیے — ایک جیسی behavioral توقعات، کوئی حیرانی نہیں۔
