O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

ג'אווה - תכנות מונחה עצמים - הורשה

חלק מסדרת הרצאות בנושא "תכנות מונחה עצמים בסביבת ג'אווה", והפעם: הורשה.

  • Seja o primeiro a comentar

ג'אווה - תכנות מונחה עצמים - הורשה

  1. 1. ‫הורשה‬-Inheritance‫המתודות‬ ‫על‬ ,"‫ל"סופר‬ ‫קריאה‬ ‫על‬ ,‫טיפוסים‬ ‫המרת‬ ‫על‬ ,‫ומחלקות‬ ‫אובייקטים‬ ‫על‬ ‫דיברנו‬ ‫כאשר‬ ,‫עקיף‬ ‫או‬ ‫ישיר‬ ‫באופן‬equals‫ו‬-finalize‫וכמו‬ ‫היררכית‬ ‫מבחינה‬ ‫יותר‬ ‫גבוהה‬ ‫למחלקה‬ ‫ולהשתייך‬ ‫מחלקה‬ ‫תת‬ ‫להיות‬ ‫יכולה‬ ‫שמחלקה‬ ‫העובדה‬ ‫את‬ ‫ציינו‬ ,‫ועוד‬‫היררכית‬ ‫מבחינה‬ ‫יותר‬ ‫גבוהה‬ ‫למחלקה‬ ‫בעצמה‬ ‫המשתייכת‬ ‫מחלקה‬ ‫תת‬ ‫בעצמה‬ ‫להיות‬ ‫יכולה‬ ‫יותר‬ ‫גבוהה‬ ‫מחלקה‬ ‫שאותה‬ ‫כן‬.‫הלאה‬ ‫וכן‬‫י‬ ‫גבוהה‬ ‫ממחלקה‬ "‫"נגזרת‬ ‫מחלקה‬ ‫תת‬ ‫כאשר‬ ,‫כזה‬ ‫באופן‬‫המחלקה‬ ‫של‬ ‫והפעולות‬ ‫התכונות‬ ‫אותן‬ ‫כל‬ ‫את‬ ‫מקבלת‬ ‫היא‬ ,‫ותר‬‫ב‬ ‫אליה‬ ‫מגיעות‬ ‫אלו‬ ‫ופעולות‬ ‫תכונות‬ .‫משתייכת‬ ‫היא‬ ‫אליה‬‫הורשה‬.‫אב‬ ‫כמחלקת‬ ‫יורשים‬ ‫ממנה‬ ‫מחלקה‬ ‫אותה‬ ‫את‬ ‫לכנות‬ ‫נהוג‬ ‫המקצועית‬ ‫בספרות‬–Base Class–Super Class‫המחלקה‬ ‫ואת‬‫מחלקה‬ ‫כתת‬ ‫היורשת‬–Derived Class–Sub Class.‫יכולה‬ ‫מחלקה‬ ‫כל‬ ‫גאווה‬ ‫בשפת‬‫לרשת‬‫היותר‬ ‫לכל‬‫אחת‬ ‫ממחלקה‬‫הבעיות‬ ‫אותן‬ ‫כל‬ ‫את‬ ‫לנטרל‬ ‫מנת‬ ‫על‬ ‫באה‬ ‫זו‬ ‫הגבלה‬ ..‫מרובה‬ ‫הורשה‬ ‫המאפשרות‬ ‫שפות‬ ‫איתן‬ ‫שמביאות‬ ‫משמעות‬ ‫וכפילויות‬‫אחת‬ ‫שמחלקה‬ ‫מניעה‬ ‫אין‬ ,‫זאת‬ ‫עם‬‫ל‬ ‫תוריש‬‫מס‬‫של‬ ‫מרובה‬‫מחלקות‬.‫ממחלקה‬ ‫מפורש‬ ‫באופן‬ ‫יורשת‬ ‫אינה‬ ‫אם‬ ,‫מחלקה‬ ‫כל‬‫מהמחלקה‬ ‫אוטומטי‬ ‫באופן‬ ‫יורשת‬ ,‫מסוימת‬Object‫של‬ ‫שבסופו‬ ‫כך‬ ,‫יורשת‬ ‫שלא‬ ‫מחלקה‬ ‫ישנה‬ ‫ירושה‬ ‫היררכיית‬ ‫ראש‬ ‫ובכל‬ ‫היות‬ ‫זאת‬ ,‫אובייקט‬ ‫הוא‬ ‫דבר‬ ‫כל‬ ,‫פרימיטיביים‬ ‫טיפוסים‬ ‫מלבד‬ ,‫דבר‬‫מהמחלקה‬ ‫אוטומטי‬ ‫באופן‬ ‫יורשת‬ ‫היא‬ ‫ואז‬ ‫ספציפית‬ ‫מחלקה‬ ‫מאף‬ ‫מפורש‬ ‫באופן‬Object.‫המחלקה‬ ‫ונתונה‬ ‫נניח‬BaseClass‫בשם‬ ‫מחלקה‬ ‫יורשת‬ ‫ממנה‬DerivedClass.‫השמורה‬ ‫במילה‬ ‫שימוש‬ ‫ע"י‬ ‫מתבצעת‬ ‫בפועל‬ ‫הירושה‬extends:‫הבא‬ ‫באופן‬public class BaseClass {}public class DerivedClass extends BaseClass {}‫מלא‬ ‫באופן‬ ‫מתקיימות‬ ,‫המורישה‬ ‫במחלקה‬ ‫מוגדרות‬ ‫שהיו‬ ‫ופעולה‬ ‫תכונה‬ ‫כל‬ ,‫כזה‬ ‫באופן‬.‫היורשת‬ ‫במחלקה‬.‫ופולימורפיזם‬ ‫מתודות‬ ‫דריסת‬ ,‫בקוד‬ ‫חיסכון‬ ‫הם‬ ‫לציין‬ ‫שניתן‬ ‫מידיים‬ ‫יתרונות‬ .‫רבים‬ ‫יתרונות‬ ‫ההורשה‬ ‫ליכולות‬‫בשם‬ ‫מורישה‬ ‫מחלקה‬ ‫לדוגמה‬ ‫ניקח‬Mammal.‫היונקים‬ ‫כל‬ ‫את‬ ‫מאפיינות‬ ‫אשר‬ ‫ופעולות‬ ‫תכונות‬ ‫יוגדרו‬ ‫זו‬ ‫במחלקה‬ .‫בוויקיפדיה‬ "‫"יונקים‬ ‫הערך‬ ‫אחר‬ ‫בחיפוש‬ ,‫לב‬ ‫שימו‬:‫הבא‬ ‫הפלט‬ ‫מתקבל‬ ,‫לא‬ ‫כאשר‬ ‫גם‬ ‫כי‬ ,‫בבירור‬ ‫לראות‬ ‫ניתן‬ ‫וכאן‬ ‫החיים‬ ‫עולם‬ ‫לבין‬ ‫עצמים‬ ‫מונחה‬ ‫תכנות‬ ‫שבין‬ ‫עמוק‬ ‫הקשר‬ ‫את‬ ‫פעם‬ ‫לא‬ ‫הזכרנו‬ ‫כבר‬‫על‬ ‫המדבר‬ ‫פלט‬ ‫התקבל‬ ,‫בתכנות‬ ‫שקשור‬ ‫דבר‬ ‫שום‬ ‫חיפשנו‬‫מחלקה‬ ‫של‬ ‫הגדרה‬‫ותכונות‬ ‫מאפיינים‬ ,.
  2. 2. ‫מחלקה‬ ‫אותה‬ ,‫כן‬ ‫אם‬Mammal‫ב‬ ‫למשל‬ ‫להתאפיין‬ ‫תוכל‬:‫הבאות‬ ‫תכונות‬...‫קדמי‬ ‫מוח‬ ,‫הסדן‬ ‫עצם‬ ,‫הפטיש‬ ‫עצם‬ ,‫חלב‬ ‫בלוטות‬‫ממחלקה‬ ‫היורשת‬ ‫מחלקה‬Mammal‫לדוגמה‬ ,Human:‫הבאות‬ ‫בתכונות‬ ‫למשל‬ ‫להתאפיין‬ ‫תוכל‬,‫ראש‬ ,‫רגליים‬ ,‫ידיים‬,‫פה‬ ,‫אף‬ ,‫עיניים‬...‫לב‬‫ממחלקה‬ ‫היורשת‬ ‫מחלקה‬Human‫לדוגמה‬ ,Person:‫הבאות‬ ‫בתכונות‬ ‫למשל‬ ‫להתאפיין‬ ‫תוכל‬...‫ת.ז‬ ,‫משפחה‬ ‫שם‬ ,‫פרטי‬ ‫שם‬ ,‫בינה‬ ,‫אישיות‬‫כן‬ ‫וכמו‬ ‫נוצר‬ ‫הוא‬ ‫ממנה‬ ‫במחלקה‬ ‫שהוגדרו‬ ‫המאפיינים‬ ‫אותם‬ ‫כל‬ ‫את‬ ,‫כן‬ ‫אם‬ ‫יכלול‬ ‫מסוימת‬ ‫ממחלקה‬ ‫שנוצר‬ ‫אובייקט‬ ‫כל‬‫הגישה‬ ‫למצייני‬ ‫בהתאם‬ ‫כמובן‬ ‫וזאת‬ ‫הירושה‬ ‫היררכיית‬ ‫מבחינת‬ ‫נוצר‬ ‫הוא‬ ‫ממנה‬ ‫המחלקה‬ ‫שמעל‬ ‫במחלקות‬ ‫שהוגדרו‬‫הגיש‬ ‫מצייני‬ ‫(נושא‬ ‫מאפיין‬ ‫לכל‬ ‫שהוצמדו‬.)‫לכך‬ ‫הייעודי‬ ‫בפרק‬ ‫מפורטת‬ ‫בצורה‬ ‫מוסבר‬ ‫ה‬:‫שהוסבר‬ ‫את‬ ‫ציורית‬ ‫בצורה‬ ‫המתארת‬ ‫דיאגרמה‬ ‫נראה‬ ,‫ראשית‬‫מהמחלקה‬ ‫שאובייקט‬ ‫לראות‬ ‫ניתן‬ ‫בתרשים‬Person( ‫נוצר‬ ‫הוא‬ ‫ממנה‬ ‫במחלקה‬ ‫שהוגדרו‬ ‫המאפיינים‬ ‫כל‬ ‫את‬ ‫יכלול‬Person)‫המאפיינים‬ ‫כל‬ ‫את‬ ‫יכלול‬ ,‫כן‬ ‫וכמו‬( ‫נוצר‬ ‫הוא‬ ‫ממנה‬ ‫למחלקה‬ ‫שהורישו‬ ‫במחלקות‬ ‫שהוגדרו‬Human, Mammal‫שנוכל‬ ‫כך‬ ,)‫מסוג‬ ‫מאובייקט‬ ‫לצפות‬Person:‫של‬ ‫הבעלים‬ ‫שיהיה‬‫קדמי‬ ‫מוח‬ ,‫הסדן‬ ‫עצם‬ ,‫הפטיש‬ ‫עצם‬ ,‫חלב‬ ‫בלוטות‬,,‫ראש‬ ,‫רגליים‬ ,‫ידיים‬,‫פה‬ ,‫אף‬ ,‫עיניים‬‫לב‬,‫משפחה‬ ‫שם‬ ,‫פרטי‬ ‫שם‬ ,‫בינה‬ ,‫אישיות‬.‫ות.ז‬
  3. 3. ‫דיאגרמת‬ ‫נראה‬ ,‫כעת‬UML:‫והירושה‬ ‫המחלקות‬ ‫היררכיית‬ ‫את‬ ‫מתארת‬ ‫אשר‬‫ה‬ ‫תרשים‬ ‫לפי‬-UML‫מהמחלקה‬ ‫שנוצר‬ ‫שלאובייקט‬ ‫להבין‬ ‫נוכל‬ ,Person:‫הבאות‬ ‫התכונות‬ ‫את‬ ‫יש‬personType, humanType, mammalType.‫יונק‬ ‫וגם‬ ‫אדם‬ ‫בן‬ ‫גם‬ ‫היא‬ ‫אישיות‬ ‫כל‬ ‫שהרי‬‫מהמחלקה‬ ‫אובייקט‬ ‫על‬ ‫להפעיל‬ ‫ניתן‬ ,‫בנוסף‬Person‫הפעולה‬ ‫את‬getType‫ב‬ ‫שהוגדרה‬-Mammal.‫אחת‬ ‫קוד‬ ‫שורת‬ ‫שנכתוב‬ ‫מבלי‬ ‫גם‬ :‫קוד‬ ‫בשכפול‬ ‫חיסכון‬ ‫בדבר‬ ‫שהזכרנו‬ ‫יתרון‬ ‫אותו‬ ‫ביטוי‬ ‫לידי‬ ‫בא‬ ‫כיצד‬ ‫לראות‬ ‫ניתן‬ ‫וכאן‬‫במחלקה‬Person‫התכונות‬ ‫את‬ ‫יכיל‬ ‫ממנה‬ ‫שיוצר‬ ‫אובייקט‬ ,humanType, mammalType‫הפעולה‬ ‫ואת‬getType.‫שהוז‬ ‫הנוספים‬ ‫היתרונות‬‫אך‬ ,‫המדובר‬ ‫בנושא‬ ‫העוסק‬ ‫בפרק‬ ‫כ"א‬ ,‫מפורט‬ ‫באופן‬ ‫מוסברים‬ )‫ופולימורפיזם‬ ‫מתודות‬ ‫(דריסת‬ ‫כרו‬‫במחלקה‬ ‫מחדש‬ ‫להגדיר‬ ‫שניתן‬ ,‫לומר‬ ‫נוכל‬ ‫בקצרה‬Person‫את‬ ‫למשל‬getType‫למחלקה‬ ‫ספציפית‬ ‫פעולה‬ ‫שתבצע‬ ‫כך‬Person‫מסוג‬ ‫לאובייקט‬ ‫לפנות‬ ‫יהיה‬ ‫שניתן‬ ,‫כן‬ ‫כמו‬ ,Person‫מחלקה‬ ‫מסוג‬ ‫משתנה‬ ‫באמצעות‬Human‫או‬Mammal,‫(כאמור‬.)‫אלו‬ ‫לנושאים‬ ‫הייעודיים‬ ‫בפרקים‬ ‫מוסבר‬ ,‫כזה‬ ‫צעד‬ ‫שבכל‬ ‫והיתרונות‬ ‫הסיבות‬ ‫בדבר‬

×