הבדל מפתח - מעמד על לעומת מעמד משנה
בתכנות מונחה עצמים (OOP), המערכת מעוצבת באמצעות אובייקטים. אובייקטים אלה נוצרים באמצעות מחלקה. מחלקה היא שרטוט או תיאור ליצירת אובייקט. יצירת אובייקט ידועה גם בשם מופע אובייקט. כל אובייקט מתקשר עם אובייקטים אחרים. ניתן לפתח תוכנית או תוכנה באמצעות תכנות מונחה עצמים. ירושה היא מושג מרכזי ב-OOP. זה משפר שימוש חוזר בקוד. במקום ליישם תוכנית מההתחלה, היא מאפשרת לרשת מאפיינים ושיטות של המחלקה הקיימת כבר למחלקה חדשה. זה עוזר להפוך את התוכנית לניתנת יותר לניהול. Superclass ו-Subclass הם שני מונחים הקשורים בירושה. מאמר זה דן בהבדל בין Superclass ל- Subclass. ההבדל העיקרי בין ה-Superclass ל-Subclass הוא ש-Superclass היא המחלקה הקיימת ממנה נגזרות המחלקות החדשות ואילו Subclass היא המחלקה החדשה שיורשת את המאפיינים והשיטות של ה-Superclass.
מה זה Superclass?
בירושה, המחלקה הקיימת ממנה נגזרות המחלקות החדשות ידועה בשם Superclass. היא ידועה גם כמחלקת האב או מחלקת הבסיס.
ישנם סוגי ירושה שונים. הם מומחשים באמצעות הדוגמאות הבאות. שקול את A B ו-C כשיעורים.
איור 01: סוגי ירושה
איור 02: ירושה היברידית
לפי התרשימים לעיל, מחלקות-על משתנות מכל סוג ירושה. בירושה ברמה אחת, A הוא מעמד העל. בירושה מרובת רמות, A הוא ה-Superclass עבור B ו-B הוא ה-Superclass עבור C. בירושה היררכית A הוא ה-Superclass עבור B ו-C. בירושה מרובים הן A ו-B הן Superclass עבור C.
ירושה היברידית היא שילוב של ירושה מרובת רמות וירושות מרובות. בתרשים הצד השמאלי, A הוא מחלקת העל עבור B, C ו-B, C הם מחלקות העל עבור D. בתרשים בצד ימין, A הוא מחלקות העל עבור B ו-B, D הם מחלקות על עבור C.
עיין בתוכנית שלהלן שנכתבה ב-Java.
איור 03: תוכנית ירושה ב-Java
לפי התוכנית לעיל, למחלקה A יש שיטות sum() ו-sub(). למחלקה B יש שיטת multiply(). Class B מרחיב את המחלקה A. לכן, מאפיינים ושיטות של Class A נגישים על ידי Class B. לכן, Class A היא Superclass. סוג ההתייחסות של מחלקה B נלקח ליצירת האובייקט. אז כל השיטות כגון sum(), sub() ו- multiply() נגישות על ידי האובייקט. אם נעשה שימוש בסוג הפניה של Superclass ליצירת אובייקט, לא ניתן לגשת לאיברי מחלקה B. לְמָשָׁל A obj=new B(); לכן, הפניה ל-Superclass לא יכולה לקרוא למתודה multiply() מכיוון שהשיטה הזו שייכת למחלקה B.
מה זה תת-מחלקה?
לפי התרשימים לעיל, תת-מחלקות משתנות מכל סוג ירושה. בירושה יחידה, B היא תת-המעמד. בירושה מרובת רמות, B היא תת-המעמד של A ו-C היא תת-המעמד של B.בירושה היררכית B ו-C הן תת-מחלקות של A. בירושות מרובות, C היא תת-המחלקה עבור A ו-B.
בירושה היברידית, הדיאגרמה משמאל, B ו-C הן תת-מחלקות של A. D היא תת-המחלקה של B ו-C. בתרשים מימין, B היא תת-המחלקה עבור A. C היא תת-המחלקה של B ו-D.
לפי תוכנית ההורשה לעיל, מחלקה B מרחיבה את מחלקה A. לכן, כל המאפיינים והשיטות של מחלקה A נגישים על ידי מחלקה B. מחלקה B היא המחלקה החדשה שיורשת מחלקה A. היא ידועה בשם תת הכיתה. זה ידוע גם בתור כיתת הילד או כיתת הנגזרת. למחלקה B יש שיטת כפל () והיא יכולה גם לגשת לשיטות sum() ו-sub() של מחלקה A באמצעות ירושה.
מהו הדמיון בין מעמד-על לתת-מחלקה?
שניהם קשורים לירושה
מה ההבדל בין מעמד-על ל-Subclass?
מעמד על לעומת תת-מחלקה |
|
בעת יישום ירושה, המחלקה הקיימת שממנה נגזרות המחלקות החדשות היא ה-Superclass. | בעת יישום ירושה, המחלקה שיורשת את המאפיינים והשיטות מ-Superclass היא Subclass. |
מילים נרדפות | |
כיתה-על ידועה ככיתה בסיס, כיתת אב. | תת-מחלקה ידועה ככיתה נגזרת, כיתת ילד. |
פונקציונליות | |
מחלקה-על לא יכולה להשתמש במאפיינים ובשיטות של תת-המחלקה. | תת-מחלקה יכולה להשתמש במאפיינים ובשיטות של Superclass. |
ירושה ברמת יחיד | |
יש Superclass אחד. | יש תת-מחלקה אחת. |
ירושה היררכית | |
יש Superclass אחד | ישנן מחלקות משנה רבות. |
ירושה מרובה | |
יש הרבה מחלקות-על. | יש תת-מחלקה אחת. |
סיכום – מחלקה על לעומת תת-מחלקה
ירושה הוא מושג של OOP. זה מאפשר שימוש במאפיינים ובשיטות של מחלקה קיימת לגישה על ידי מחלקה חדשה. המחלקה העוברת בירושה היא מחלקת העל, והמחלקה הנגזרת היא תת המחלקה. ההבדל בין ה-Superclass ל-Subclass הוא ש-Superclass היא המחלקה הקיימת ממנה נגזרות מחלקות חדשות בעוד ש-Subclass היא המחלקה החדשה שיורשת את המאפיינים והשיטות של ה-Superclass.
הורד את מחלקת העל ל-PDF לעומת תת-מחלקה
ניתן להוריד את גרסת ה-PDF של מאמר זה ולהשתמש בה למטרות לא מקוונות לפי הערת ציטוט. אנא הורד את גרסת ה-PDF כאן ההבדל בין מחלקה העל לכיתה המשנה