یک اصل در است که می‌گوید در یک ، اگر S T باشد، امکان جایگزینی نمونه‌های T با نمونه‌های نوع S وجود دارد. یعنی بدون این که هیچکدام از ویژگی‌های مطلوب برنامه (اعم از درستی، ماهیت کار انجام شده توسط برنامه و ...) تغییر کند؛ می‌توان یک شیء از نوع T با هر شیءای از نوع S را جایگزین کرد. به بیان رسمی‌تر، ( ) تعریف خاصی از یک رابطهٔ زیرنوعی به نام رابطهٔ (قوی) زیرنوعی رفتاری است، که در ابتدا توسط در یک سخنرانی در کنفرانسی در سال ۱۹۷۸ با عنوان معرفی شد. این قاعده یک رابطهٔ معنایی است (نه صرفاً نحوی)، زیرا هدف آن تضمین قابلیت جانشانی انواع در یک ساختار سلسله‌مراتبی است. و جینت وینگ به طور خلاصه در مقاله‌ای منتشر شده در سال ۱۹۹۴ توضیح دادند: در همان مقاله، لیسکوف و وینگ منظور خود را از ساختار «انوع رفتاری» به‌وسیلهٔ گسترشی از منطق Hoare - که شباهت خاصی به «طراحی براساس قرارداد» دارد- به تفصیل شرح داده‌اند که در آن تعامل با زیرنوع‌ها به شکل پیش‌شرط‌ها، پس‌شرط‌ها و توضیح داده می‌شود.
 مفهوم لیسکوف از یک «زیرنوع رفتاری» مفهومی از جایگزینی برای اشیا را تعریف می‌کند. یعنی اگر زیرنوع باشد، ممکن است اشیاء از نوع در یک برنامه با اشیاء از نوع جایگزین شوند؛ به شکلی که هیچ یک از خصوصیات مطلوب آن برنامه (مانند درستی) تغییر پیدا نکند.
 رابطهٔ زیرنوعیِ رفتاری یک مفهوم قوی‌تر از معمولی تعریف شده در است؛ که فقط به انواع آرگومان‌ها و نوع برگشتی متکی است. زیرنوعیِ رفتاری به‌طور کلی است: اگر ویژگیِ «متد » باشد؛ آنگاه تأیید این ویژگی برای برخی انواع S که زیرنوع T هستند برای یک برنامهٔ رایانه‌ای (مانند یک مترجم) ناممکن است (حتی در صورتی که ویژگی فوق برای T صحیح باشد). با این وجود این اصل در طراحی سلسله مراتب اشتقاق مفید است.
 اصل لیسکوف برخی نیازمندی‌های استاندارد را برای امضای انواع در زبان‌های برنامه‌نویسی جدید شیءگرا الزام می‌کند (معمولاً در سطح کلاس‌ها و نه انواع. برای دیدن تمایز بین این دو مراجعه کنید به ):
 
 
 علاوه بر الزامات امضا، زیرنوع باید تعدادی الزامات رفتاری را نیز برآورده کند. این الزامات با زبانی مشابه آنچه در طراحی براساس قرارداد استفاده شده است؛ به جزئیات توصیف شده‌اند. این توصیف به قواعد محدود کننده برای منجر می‌شود:
 
 
 
 قوانین مربوط به پیش‌شرط‌ها و پس‌شرط‌ها مشابه با قوانینی است که توسط برتراند مایر در کتابش که در سال ۱۹۸۸ با نام معرفی شده است. هر دو مایر، و بعد از وی پیر امریکا، که اولین بار اصطلاح «انواع رفتاری» را به کار بردند، به تعاریف برخی از مفاهیم انواع رفتاری پرداختند. با این حال تعاریف آن‌ها مفهوم را که ممکن است در زبان‌های برنامه‌نویسی با پشتیبانی از اشاره‌گر و مرجع وجود داشته باشد مدنظر قرار نمی‌دهد. در نظر گرفتن استعار، پیشرفت اصلی لیسکوف و وینگ (۱۹۹۴) بوده است و یک ماده اصلی آن «محدودیت تاریخ» است. طبق تعاریف مایر و آمریکا، یک «نقطهٔ متغیر» می‌تواند یک زیرنوع رفتاری از «نقطهٔ تغییرناپذیر» باشد، در حالی که LSP این امر را ممنوع می‌کند.
{"title": "قاعده جانشانی لیسکوف", "link": "https://fa.wikipedia.org//w/index.php?title=%D9%82%D8%A7%D8%B9%D8%AF%D9%87_%D8%AC%D8%A7%D9%86%D8%B4%D8%A7%D9%86%DB%8C_%D9%84%DB%8C%D8%B3%DA%A9%D9%88%D9%81&oldid=28376551", "language": "fa"}