ירושה (תכנות)


כל מה שרצית לדעת על ירושה (תכנות):
בתכנות מונחה-עצמים, ירושה היא דרך לבסס יחס "סוג-של" (is-a) בין עצמים.
המימוש הנפוץ של הגדרה זו היא בעזרת מחלקות.
מחלקה יכולה לקבל בירושה תכונות והתנהגות של מחלקת-האם שלה (נקראת גם "מחלקת-על", "מחלקת-אב" או "מחלקת בסיס").
היחסים בין מחלקות מגדירים היררכיה של מחלקות.
מנגנון הירושה מסייע במידול של תחומים בדרך דומה לזאת המוגדרת באופן "טבעי" על ידי העוסקים בהם.
לדוגמה, אם ריבוע הוא סוג-של (או מקרה פרטי של) מצולע, ניתן להגדיר יחס ירושה בין המחלקה מרובע למחלקה מצולע; על פי רוב, אובייקט של המחלקה היורשת (מרובע) יתמוך בכל הפעולות המוגדרות על מצולע כלשהו, ובנוסף יתמוך בפעולות נוספות, המיוחדות למרובע.
בדומה, ניתן להגדיר יחס ירושה בין המחלקה ריבוע למחלקה מרובע.
על פי רוב, ירושה גוררת ניתנות-להחלפה: בכל מקום בתוכנה שבו ניתן להשתמש באובייקט השייך למחלקה א', ניתן להשתמש באובייקט השייך למחלקה ב', היורשת ממחלקה א' ישירות או בעקיפין (עם זאת, ירושה פרטית או מוגנת, בשפות המאפשרות זאת, איננה גוררת ניתנות-להחלפה באופן כללי).
דרישה זו גוררת הגבלות על יחס הירושה, בעיקר בשפות בעלת מערכת טיפוסים סטטית: למשל, אם המחלקה מצולע כוללת פעולת "הוסף צלע" המשנה את האובייקט הנוכחי, אזי המחלקה מרובע איננה יכולה לרשת ממנה, כיוון שלא ניתן להוסיף צלע למרובע כך שהוא יישאר מרובע.

נלקח מויקיפדיה

הגדרות נוספות הקשורות לירושה (תכנות):
תכנות מונחה-עצמים
מונחים בתוכנה