שיעור 3: LSP וחוזים התנהגותיים
החלפתם מימוש אחד באחר — והמערכת קרסה, למרות שהקומפיילר היה מרוצה לגמרי. למשל: PreviewExporter שנראה כמו Exporter לכל דבר, אבל זורק חריגה בדיוק על הרשימות הגדולות שבפרודקשן. בשיעור הזה נלמד את עקרון ההחלפה של ליסקוב (LSP): מהו החוזה ההתנהגותי שתת־מחלקה חייבת לקיים — מעבר לחתימות — כדי שכל החלפה ת
LSP הוא כמו סוללות חילוף: כל סוללת AA חייבת לעבוד בכל מכשיר שבנוי ל־AA. סוללה שנכנסת לתא אבל שורפת את השלט — שברה את ההבטחה.
- עקרון ההחלפה של ליסקוב (LSP)
- כל תת־מחלקה חייבת לעבוד בכל מקום שמצפה לטיפוס הבסיס שלה — בלי הפתעות לקורא.
- חוזה התנהגותי
- ההבטחות של מתודה מעבר לחתימה: אילו קלטים חוקיים, מה מובטח בפלט, ואילו חריגות ייתכנו.