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.

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

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

Livros relacionados

Gratuito durante 30 dias do Scribd

Ver tudo
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

  1. 1. ‫צורתיות‬ ‫רב‬-Polymorphism‫חשיבות‬ ‫לכך‬ ‫לייחס‬ ‫מבלי‬ ‫זה‬ ‫בקונספט‬ ‫נתקלים‬ ‫אנו‬ .‫שלנו‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫רבים‬ ‫במקרים‬ ‫צורתיות‬ ‫רב‬ ‫של‬ ‫מימושים‬ ‫לראות‬ ‫ניתן‬‫תחושה‬ ‫יוצר‬ ‫הדבר‬ ,‫עצמים‬ ‫מונחה‬ ‫בתכנות‬ ‫זה‬ ‫נושא‬ ‫על‬ ‫לדבר‬ ‫מגיעים‬ ‫כאשר‬ ,‫זאת‬ ‫ועם‬ ,‫בחיינו‬ ‫נתון‬ ‫רגע‬ ‫בכל‬ ‫כמעט‬‫מוטעית‬.‫מורכב‬ ‫נושא‬ ‫של‬‫קונספט‬ ‫הופכים‬ ‫אשר‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫נתקלים‬ ‫אנו‬ ‫בהם‬ ‫המקרים‬ ‫מאותם‬ ‫חלק‬ ‫קודם‬ ‫נזכיר‬ ,‫יותר‬ ‫טוב‬ ‫הנושא‬ ‫את‬ ‫להבין‬ ‫מנת‬ ‫על‬:‫בסיסי‬ ‫די‬ ‫בעצם‬ ‫הוא‬ ‫אך‬ ,‫שלו‬ ‫המפוצץ‬ ‫לשם‬ ‫הודות‬ ‫מורכב‬ ‫נשמע‬ ‫שאולי‬‫ל‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ .‫שיניים‬ ‫מצחצחים‬ ‫אנו‬ ‫וערב‬ ‫בוקר‬ ‫בכל‬‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫עבר‬‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫משחת‬ ‫עליה‬ ‫מורחים‬ ,‫הברז‬.‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬‫והיה‬ .‫מסוימת‬ ‫בדרך‬ ‫אותן‬ ‫נעשה‬ ‫אנו‬ ,‫אלו‬ ‫פעולות‬ ‫עושים‬ ‫שאנו‬ ‫פעם‬ ‫בכל‬.‫דבר‬ ‫שום‬ ‫קרה‬ ‫לא‬ ,‫התבלתה‬ ‫השיניים‬ ‫ומברשת‬‫את‬ ‫בדבר‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ...‫שונה‬ ‫קצת‬ ‫צורה‬ ,‫אחר‬ ‫בצבע‬ ,‫שונה‬ ‫מתוצרת‬ ‫תהיה‬ ‫היא‬ ‫אם‬ ‫ואפילו‬ ,‫חדשה‬ ‫שיניים‬ ‫מברשת‬ ‫נקנה‬,‫הברז‬ ‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫לעבר‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ :‫המברשת‬ ‫את‬ ‫הפעלתנו‬ ‫אופן‬‫מ‬ ‫עליה‬ ‫מורחים‬‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫שחת‬.‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬.‫שלנו‬ ‫המכונית‬ ‫את‬ ‫מפעילים‬ ‫אנו‬ ‫בו‬ ‫באופן‬ ‫להביט‬ ‫נוכל‬ ,‫האופן‬ ‫באותו‬‫מביטים‬ ,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬.‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬:‫ברכבנו‬ ‫נהגנו‬ ‫בו‬ ‫לאופן‬ ‫זהה‬ ‫באופן‬ ‫נתנהג‬ ‫עמו‬ ‫חלופי‬ ‫רכב‬ ‫ונקבל‬ ‫למוסך‬ ‫ניגש‬ ,‫ברכב‬ ‫לטיפול‬ ‫הזמן‬ ‫הגיע‬ ‫ואם‬,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬ ‫מביטים‬.‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬‫את‬ ‫מבצעים‬ ‫אנו‬ ‫עליו‬ ‫לאובייקט‬ ‫ישיר‬ ‫קשר‬ ‫מבלי‬ ,‫מסוימות‬ ‫פעולות‬ ‫לבצע‬ ‫לנו‬ ‫מאפשרת‬ ‫צורתיות‬ ‫רב‬ .‫ברור‬ ,‫כן‬ ‫אם‬ ‫הרעיון‬‫באוביי‬ ‫יוחלף‬ ‫אובייקט‬ ‫אותו‬ ‫אם‬ ‫שגם‬ ‫כך‬ ,‫הפעולה‬‫אותו‬ ‫על‬ ‫הפעולה‬ ‫את‬ ‫מבצעים‬ ‫אנו‬ ‫בה‬ ‫הדרך‬ ‫את‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ,‫אחר‬ ‫קט‬‫יעשה‬ ‫החדש‬ ‫האובייקט‬ .‫האחר‬ ‫באובייקט‬ ‫נהגנו‬ ‫בה‬ ‫הדרך‬ ‫באותה‬ ‫החדש‬ ‫באובייקט‬ ‫גם‬ ‫לנהוג‬ ‫נמשיך‬ ‫אנו‬ ,‫החדש‬ ‫האובייקט‬‫חשמלית‬ ‫בצורה‬ ‫מונעת‬ ‫להיות‬ ‫יכולה‬ ‫אחת‬ ‫שמכונית‬ ‫כשם‬ ‫בדיוק‬ ,‫הקודם‬ ‫מהאובייקט‬ ‫אולי‬ ‫שונה‬ ‫בדרך‬ ‫עבודתו‬ ‫את‬‫ע"י‬ ‫ואחרת‬,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫בשלנו‬ ‫אנחנו‬ ‫אבל‬ ,‫פחות‬ ‫או‬ ‫יותר‬ ‫טוב‬ ‫שמנקים‬ ‫סיליקוניים‬ ‫מסיבים‬ ‫בנויה‬ ‫תהיה‬ ‫אחת‬ ‫שיניים‬ ‫ומברשת‬ ‫גז‬.‫ובלמים‬ ‫דלק‬ ,‫הגה‬ .‫למעלה‬‫כך‬ ,‫שונים‬ ‫אובייקטים‬ ‫לגבי‬ ‫זהה‬ ‫באופן‬ ‫מתודה‬ ‫להפעיל‬ ‫היכולת‬ .‫בדיוק‬ ‫הדבר‬ ‫אותו‬ ‫את‬ ‫לבצע‬ ‫ביכולת‬ ‫נתקלים‬ ‫אנו‬ ‫בתכנות‬,‫שבפועל‬.‫האובייקט‬ ‫לאותו‬ ‫שמותאם‬ ‫האופן‬ ‫באותו‬ ‫שתתבצע‬ ‫לגביו‬ ‫הרלוונטית‬ ‫המתודה‬ ‫אובייקט‬ ‫כל‬ ‫על‬ ‫תופעל‬‫המחלקה‬ ‫לאותה‬ ‫שהורישה‬ ‫מחלקה‬ ‫מטיפוס‬ ‫במשתנה‬ ‫לאובייקט‬ ‫רפרנס‬ ‫לשמור‬ ‫שלנו‬ ‫היכולת‬ ‫את‬ ‫הקודמים‬ ‫בנושאים‬ ‫הסברנו‬.‫האובייקט‬ ‫נוצר‬ ‫ממנה‬‫ה‬ ‫מאותה‬ ‫לרשת‬ ‫מחלקות‬ ‫מס‬ ‫של‬ ‫היכולת‬ ‫את‬ ‫הסברנו‬ ,‫כן‬ ‫כמו‬‫של‬ ‫דריסה‬ ‫תתבצע‬ ,‫היורשות‬ ‫המחלקות‬ ‫שכל‬ ‫כך‬ ,‫מחלקה‬.‫היורשת‬ ‫מהמחלקה‬ ‫אובייקט‬ ‫על‬ ‫אישית‬ ‫מותאמת‬ ‫פעולה‬ ‫תבצע‬ ‫מתודה‬ ‫שאותה‬ ‫כך‬ ,‫המורישה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫מתודה‬:‫קודם‬ ‫שתואר‬ ‫שלנו‬ ‫היומיום‬ ‫מחיי‬ ‫צורתיות‬ ‫רב‬ ‫אותה‬ ‫את‬ ‫בדיוק‬ ‫להניב‬ ‫יכול‬ ‫אלו‬ ‫יכולות‬ ‫של‬ ‫פשוט‬ ‫שילוב‬ ‫כיצד‬ ,‫נראה‬ ‫כעת‬‫קו‬ ‫ראינו‬‫המחלקות‬ ‫את‬ ‫דם‬Human, Person, Student, Soldier.
  2. 2. ‫תרשים‬ ‫נראה‬UML:‫הירושה‬ ‫היררכיית‬ ‫הבנת‬ ‫לשם‬ ,‫המחלקה‬ ‫להגדרת‬Human‫בשם‬ ‫זהה‬ ‫חתימה‬ ‫בעלת‬ ‫מתודה‬ ‫של‬ ‫מימוש‬ ‫התווסף‬whoIs()‫אחת‬ ‫בכל‬ ‫מחדש‬ ‫נדרסה‬ ‫אשר‬ ,:‫מהמחלקות‬public class Human {public void whoIs() {System.out.println("Human");}}public class Person extends Human {public void whoIs() {System.out.println("Person");}}public class Student extends Person {public void whoIs() {System.out.println("Student");}}public class Soldier extends Person {public void whoIs() {System.out.println("Soldier");}}
  3. 3. :‫שהוסבר‬ ‫כפי‬ ‫פולימורפיזם‬ ‫של‬ ‫הקונספט‬ ‫מימוש‬ ‫לידי‬ ‫לבוא‬ ‫יכול‬ ‫כיצד‬ ‫נראה‬ ,‫כעת‬public class Runner {public static void main(String[] args) {Human h1=new Human();Human h2=new Person();Human h3=new Soldier();Human h4=new Student();Human[] hArr={h1, h2, h3, h4};for (int i=0; i<hArr.length; i++)hArr[i].whoIs();}}‫המורישה‬ ‫המחלקה‬ ‫מסוג‬ ‫במשתנים‬ ‫הצבנו‬ ‫כולם‬ ‫ואת‬ ‫שונים‬ ‫מטיפוסים‬ ‫אובייקטים‬ ‫יצרנו‬ ,‫לב‬ ‫נשים‬Human..‫המתודה‬ ‫אותה‬ ‫את‬ ‫עליו‬ ‫והפעלנו‬ ‫במערך‬ ‫תא‬ ‫לכל‬ ‫ניגשנו‬ ,‫פשוטה‬ ‫לולאה‬ ‫ובאמצעות‬ ‫במערך‬ ‫הללו‬ ‫המשתנים‬ ‫את‬ ‫הצבנו‬‫ביצע‬ ‫אובייקט‬ ‫כל‬ ,‫מהאובייקטים‬ ‫אחד‬ ‫לכל‬ ‫זהה‬ ‫בצורה‬ ‫נעשתה‬ ‫שהפנייה‬ ‫למרות‬‫הוא‬ ‫ממנה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫המתודה‬ ‫את‬:‫יהיה‬ ‫לבסוף‬ ‫שהפלט‬ ‫כך‬ ,‫נוצר‬HumanPersonSoldierStudent

×