Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
ג'אווה - תכנות מונחה עצמים - הורשה
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

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

Download to read offline

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

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

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

  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

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

Views

Total views

1,608

On Slideshare

0

From embeds

0

Number of embeds

266

Actions

Downloads

27

Shares

0

Comments

0

Likes

0

×