SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
‫צורתיות‬ ‫רב‬-Polymorphism
‫חשיבות‬ ‫לכך‬ ‫לייחס‬ ‫מבלי‬ ‫זה‬ ‫בקונספט‬ ‫נתקלים‬ ‫אנו‬ .‫שלנו‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫רבים‬ ‫במקרים‬ ‫צורתיות‬ ‫רב‬ ‫של‬ ‫מימושים‬ ‫לראות‬ ‫ניתן‬
‫תחושה‬ ‫יוצר‬ ‫הדבר‬ ,‫עצמים‬ ‫מונחה‬ ‫בתכנות‬ ‫זה‬ ‫נושא‬ ‫על‬ ‫לדבר‬ ‫מגיעים‬ ‫כאשר‬ ,‫זאת‬ ‫ועם‬ ,‫בחיינו‬ ‫נתון‬ ‫רגע‬ ‫בכל‬ ‫כמעט‬‫מוטעית‬
.‫מורכב‬ ‫נושא‬ ‫של‬
‫קונספט‬ ‫הופכים‬ ‫אשר‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫נתקלים‬ ‫אנו‬ ‫בהם‬ ‫המקרים‬ ‫מאותם‬ ‫חלק‬ ‫קודם‬ ‫נזכיר‬ ,‫יותר‬ ‫טוב‬ ‫הנושא‬ ‫את‬ ‫להבין‬ ‫מנת‬ ‫על‬
:‫בסיסי‬ ‫די‬ ‫בעצם‬ ‫הוא‬ ‫אך‬ ,‫שלו‬ ‫המפוצץ‬ ‫לשם‬ ‫הודות‬ ‫מורכב‬ ‫נשמע‬ ‫שאולי‬
‫ל‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ .‫שיניים‬ ‫מצחצחים‬ ‫אנו‬ ‫וערב‬ ‫בוקר‬ ‫בכל‬‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫עבר‬
‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫משחת‬ ‫עליה‬ ‫מורחים‬ ,‫הברז‬
.‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬
‫והיה‬ .‫מסוימת‬ ‫בדרך‬ ‫אותן‬ ‫נעשה‬ ‫אנו‬ ,‫אלו‬ ‫פעולות‬ ‫עושים‬ ‫שאנו‬ ‫פעם‬ ‫בכל‬.‫דבר‬ ‫שום‬ ‫קרה‬ ‫לא‬ ,‫התבלתה‬ ‫השיניים‬ ‫ומברשת‬
‫את‬ ‫בדבר‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ...‫שונה‬ ‫קצת‬ ‫צורה‬ ,‫אחר‬ ‫בצבע‬ ,‫שונה‬ ‫מתוצרת‬ ‫תהיה‬ ‫היא‬ ‫אם‬ ‫ואפילו‬ ,‫חדשה‬ ‫שיניים‬ ‫מברשת‬ ‫נקנה‬
,‫הברז‬ ‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫לעבר‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ :‫המברשת‬ ‫את‬ ‫הפעלתנו‬ ‫אופן‬
‫מ‬ ‫עליה‬ ‫מורחים‬‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫שחת‬
.‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬
.‫שלנו‬ ‫המכונית‬ ‫את‬ ‫מפעילים‬ ‫אנו‬ ‫בו‬ ‫באופן‬ ‫להביט‬ ‫נוכל‬ ,‫האופן‬ ‫באותו‬
‫מביטים‬ ,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬
.‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬
:‫ברכבנו‬ ‫נהגנו‬ ‫בו‬ ‫לאופן‬ ‫זהה‬ ‫באופן‬ ‫נתנהג‬ ‫עמו‬ ‫חלופי‬ ‫רכב‬ ‫ונקבל‬ ‫למוסך‬ ‫ניגש‬ ,‫ברכב‬ ‫לטיפול‬ ‫הזמן‬ ‫הגיע‬ ‫ואם‬
,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬ ‫מביטים‬
.‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬
‫את‬ ‫מבצעים‬ ‫אנו‬ ‫עליו‬ ‫לאובייקט‬ ‫ישיר‬ ‫קשר‬ ‫מבלי‬ ,‫מסוימות‬ ‫פעולות‬ ‫לבצע‬ ‫לנו‬ ‫מאפשרת‬ ‫צורתיות‬ ‫רב‬ .‫ברור‬ ,‫כן‬ ‫אם‬ ‫הרעיון‬
‫באוביי‬ ‫יוחלף‬ ‫אובייקט‬ ‫אותו‬ ‫אם‬ ‫שגם‬ ‫כך‬ ,‫הפעולה‬‫אותו‬ ‫על‬ ‫הפעולה‬ ‫את‬ ‫מבצעים‬ ‫אנו‬ ‫בה‬ ‫הדרך‬ ‫את‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ,‫אחר‬ ‫קט‬
‫יעשה‬ ‫החדש‬ ‫האובייקט‬ .‫האחר‬ ‫באובייקט‬ ‫נהגנו‬ ‫בה‬ ‫הדרך‬ ‫באותה‬ ‫החדש‬ ‫באובייקט‬ ‫גם‬ ‫לנהוג‬ ‫נמשיך‬ ‫אנו‬ ,‫החדש‬ ‫האובייקט‬
‫חשמלית‬ ‫בצורה‬ ‫מונעת‬ ‫להיות‬ ‫יכולה‬ ‫אחת‬ ‫שמכונית‬ ‫כשם‬ ‫בדיוק‬ ,‫הקודם‬ ‫מהאובייקט‬ ‫אולי‬ ‫שונה‬ ‫בדרך‬ ‫עבודתו‬ ‫את‬‫ע"י‬ ‫ואחרת‬
,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫בשלנו‬ ‫אנחנו‬ ‫אבל‬ ,‫פחות‬ ‫או‬ ‫יותר‬ ‫טוב‬ ‫שמנקים‬ ‫סיליקוניים‬ ‫מסיבים‬ ‫בנויה‬ ‫תהיה‬ ‫אחת‬ ‫שיניים‬ ‫ומברשת‬ ‫גז‬
.‫ובלמים‬ ‫דלק‬ ,‫הגה‬ .‫למעלה‬
‫כך‬ ,‫שונים‬ ‫אובייקטים‬ ‫לגבי‬ ‫זהה‬ ‫באופן‬ ‫מתודה‬ ‫להפעיל‬ ‫היכולת‬ .‫בדיוק‬ ‫הדבר‬ ‫אותו‬ ‫את‬ ‫לבצע‬ ‫ביכולת‬ ‫נתקלים‬ ‫אנו‬ ‫בתכנות‬
,‫שבפועל‬.‫האובייקט‬ ‫לאותו‬ ‫שמותאם‬ ‫האופן‬ ‫באותו‬ ‫שתתבצע‬ ‫לגביו‬ ‫הרלוונטית‬ ‫המתודה‬ ‫אובייקט‬ ‫כל‬ ‫על‬ ‫תופעל‬
‫המחלקה‬ ‫לאותה‬ ‫שהורישה‬ ‫מחלקה‬ ‫מטיפוס‬ ‫במשתנה‬ ‫לאובייקט‬ ‫רפרנס‬ ‫לשמור‬ ‫שלנו‬ ‫היכולת‬ ‫את‬ ‫הקודמים‬ ‫בנושאים‬ ‫הסברנו‬
.‫האובייקט‬ ‫נוצר‬ ‫ממנה‬
‫ה‬ ‫מאותה‬ ‫לרשת‬ ‫מחלקות‬ ‫מס‬ ‫של‬ ‫היכולת‬ ‫את‬ ‫הסברנו‬ ,‫כן‬ ‫כמו‬‫של‬ ‫דריסה‬ ‫תתבצע‬ ,‫היורשות‬ ‫המחלקות‬ ‫שכל‬ ‫כך‬ ,‫מחלקה‬
.‫היורשת‬ ‫מהמחלקה‬ ‫אובייקט‬ ‫על‬ ‫אישית‬ ‫מותאמת‬ ‫פעולה‬ ‫תבצע‬ ‫מתודה‬ ‫שאותה‬ ‫כך‬ ,‫המורישה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫מתודה‬
:‫קודם‬ ‫שתואר‬ ‫שלנו‬ ‫היומיום‬ ‫מחיי‬ ‫צורתיות‬ ‫רב‬ ‫אותה‬ ‫את‬ ‫בדיוק‬ ‫להניב‬ ‫יכול‬ ‫אלו‬ ‫יכולות‬ ‫של‬ ‫פשוט‬ ‫שילוב‬ ‫כיצד‬ ,‫נראה‬ ‫כעת‬
‫קו‬ ‫ראינו‬‫המחלקות‬ ‫את‬ ‫דם‬Human, Person, Student, Soldier.
‫תרשים‬ ‫נראה‬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");
}
}
:‫שהוסבר‬ ‫כפי‬ ‫פולימורפיזם‬ ‫של‬ ‫הקונספט‬ ‫מימוש‬ ‫לידי‬ ‫לבוא‬ ‫יכול‬ ‫כיצד‬ ‫נראה‬ ,‫כעת‬
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.
.‫המתודה‬ ‫אותה‬ ‫את‬ ‫עליו‬ ‫והפעלנו‬ ‫במערך‬ ‫תא‬ ‫לכל‬ ‫ניגשנו‬ ,‫פשוטה‬ ‫לולאה‬ ‫ובאמצעות‬ ‫במערך‬ ‫הללו‬ ‫המשתנים‬ ‫את‬ ‫הצבנו‬
‫ביצע‬ ‫אובייקט‬ ‫כל‬ ,‫מהאובייקטים‬ ‫אחד‬ ‫לכל‬ ‫זהה‬ ‫בצורה‬ ‫נעשתה‬ ‫שהפנייה‬ ‫למרות‬‫הוא‬ ‫ממנה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫המתודה‬ ‫את‬
:‫יהיה‬ ‫לבסוף‬ ‫שהפלט‬ ‫כך‬ ,‫נוצר‬
Human
Person
Soldier
Student

Contenu connexe

Plus de מורן אלקובי

ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...מורן אלקובי
 
SQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםSQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםמורן אלקובי
 
SQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםSQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםמורן אלקובי
 
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualבדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualמורן אלקובי
 
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותבדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותמורן אלקובי
 
הורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותהורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותמורן אלקובי
 
תכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותתכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותמורן אלקובי
 
כלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטיםכלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטיםמורן אלקובי
 
עבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סיעבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סימורן אלקובי
 
מצגת בלוגיקה למדעי המחשב
מצגת בלוגיקה למדעי המחשבמצגת בלוגיקה למדעי המחשב
מצגת בלוגיקה למדעי המחשבמורן אלקובי
 
מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מורן אלקובי
 
מצגת לוגיקה מלאה חלק 2 מתוך 3
מצגת לוגיקה מלאה חלק 2 מתוך 3מצגת לוגיקה מלאה חלק 2 מתוך 3
מצגת לוגיקה מלאה חלק 2 מתוך 3מורן אלקובי
 
מצגת לוגיקה מלאה חלק 1 מתוך 3
מצגת לוגיקה מלאה חלק 1 מתוך 3מצגת לוגיקה מלאה חלק 1 מתוך 3
מצגת לוגיקה מלאה חלק 1 מתוך 3מורן אלקובי
 
מתמטיקה דיסקרטית - תורת הקבוצות - פעולות
מתמטיקה דיסקרטית - תורת הקבוצות - פעולותמתמטיקה דיסקרטית - תורת הקבוצות - פעולות
מתמטיקה דיסקרטית - תורת הקבוצות - פעולותמורן אלקובי
 

Plus de מורן אלקובי (20)

ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
 
MySQL - מילון השאילתא
MySQL - מילון השאילתאMySQL - מילון השאילתא
MySQL - מילון השאילתא
 
SQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםSQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתונים
 
SQL - מודל הנתונים
SQL - מודל הנתוניםSQL - מודל הנתונים
SQL - מודל הנתונים
 
SQL - אלגברה של יחסים
SQL - אלגברה של יחסיםSQL - אלגברה של יחסים
SQL - אלגברה של יחסים
 
SQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםSQL - מודל ישויות קשרים
SQL - מודל ישויות קשרים
 
MySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתאMySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתא
 
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualבדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
 
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותבדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
 
הורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותהורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקות
 
תכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותתכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקות
 
טורי חזקה
טורי חזקהטורי חזקה
טורי חזקה
 
כלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטיםכלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטים
 
DLL מדריך לעבודה עם
DLL מדריך לעבודה עםDLL מדריך לעבודה עם
DLL מדריך לעבודה עם
 
עבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סיעבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סי
 
מצגת בלוגיקה למדעי המחשב
מצגת בלוגיקה למדעי המחשבמצגת בלוגיקה למדעי המחשב
מצגת בלוגיקה למדעי המחשב
 
מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3
 
מצגת לוגיקה מלאה חלק 2 מתוך 3
מצגת לוגיקה מלאה חלק 2 מתוך 3מצגת לוגיקה מלאה חלק 2 מתוך 3
מצגת לוגיקה מלאה חלק 2 מתוך 3
 
מצגת לוגיקה מלאה חלק 1 מתוך 3
מצגת לוגיקה מלאה חלק 1 מתוך 3מצגת לוגיקה מלאה חלק 1 מתוך 3
מצגת לוגיקה מלאה חלק 1 מתוך 3
 
מתמטיקה דיסקרטית - תורת הקבוצות - פעולות
מתמטיקה דיסקרטית - תורת הקבוצות - פעולותמתמטיקה דיסקרטית - תורת הקבוצות - פעולות
מתמטיקה דיסקרטית - תורת הקבוצות - פעולות
 

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

  • 1.
  • 2. ‫צורתיות‬ ‫רב‬-Polymorphism ‫חשיבות‬ ‫לכך‬ ‫לייחס‬ ‫מבלי‬ ‫זה‬ ‫בקונספט‬ ‫נתקלים‬ ‫אנו‬ .‫שלנו‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫רבים‬ ‫במקרים‬ ‫צורתיות‬ ‫רב‬ ‫של‬ ‫מימושים‬ ‫לראות‬ ‫ניתן‬ ‫תחושה‬ ‫יוצר‬ ‫הדבר‬ ,‫עצמים‬ ‫מונחה‬ ‫בתכנות‬ ‫זה‬ ‫נושא‬ ‫על‬ ‫לדבר‬ ‫מגיעים‬ ‫כאשר‬ ,‫זאת‬ ‫ועם‬ ,‫בחיינו‬ ‫נתון‬ ‫רגע‬ ‫בכל‬ ‫כמעט‬‫מוטעית‬ .‫מורכב‬ ‫נושא‬ ‫של‬ ‫קונספט‬ ‫הופכים‬ ‫אשר‬ ‫יום‬ ‫היום‬ ‫בחיי‬ ‫נתקלים‬ ‫אנו‬ ‫בהם‬ ‫המקרים‬ ‫מאותם‬ ‫חלק‬ ‫קודם‬ ‫נזכיר‬ ,‫יותר‬ ‫טוב‬ ‫הנושא‬ ‫את‬ ‫להבין‬ ‫מנת‬ ‫על‬ :‫בסיסי‬ ‫די‬ ‫בעצם‬ ‫הוא‬ ‫אך‬ ,‫שלו‬ ‫המפוצץ‬ ‫לשם‬ ‫הודות‬ ‫מורכב‬ ‫נשמע‬ ‫שאולי‬ ‫ל‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ .‫שיניים‬ ‫מצחצחים‬ ‫אנו‬ ‫וערב‬ ‫בוקר‬ ‫בכל‬‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫עבר‬ ‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫משחת‬ ‫עליה‬ ‫מורחים‬ ,‫הברז‬ .‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬ ‫והיה‬ .‫מסוימת‬ ‫בדרך‬ ‫אותן‬ ‫נעשה‬ ‫אנו‬ ,‫אלו‬ ‫פעולות‬ ‫עושים‬ ‫שאנו‬ ‫פעם‬ ‫בכל‬.‫דבר‬ ‫שום‬ ‫קרה‬ ‫לא‬ ,‫התבלתה‬ ‫השיניים‬ ‫ומברשת‬ ‫את‬ ‫בדבר‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ...‫שונה‬ ‫קצת‬ ‫צורה‬ ,‫אחר‬ ‫בצבע‬ ,‫שונה‬ ‫מתוצרת‬ ‫תהיה‬ ‫היא‬ ‫אם‬ ‫ואפילו‬ ,‫חדשה‬ ‫שיניים‬ ‫מברשת‬ ‫נקנה‬ ,‫הברז‬ ‫מן‬ ‫במים‬ ‫אותה‬ ‫מרטיבים‬ ,‫השיניים‬ ‫מברשת‬ ‫לעבר‬ ‫יד‬ ‫מושיטים‬ ,‫הרחצה‬ ‫לחדר‬ ‫ניגשים‬ :‫המברשת‬ ‫את‬ ‫הפעלתנו‬ ‫אופן‬ ‫מ‬ ‫עליה‬ ‫מורחים‬‫הפה‬ ‫את‬ ‫שוטפים‬ ‫ולבסוף‬ ...‫למעלה‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫השיניים‬ ‫את‬ ‫לצחצח‬ ‫ומתחילים‬ ‫שיניים‬ ‫שחת‬ .‫העבודה‬ ‫טיב‬ ‫את‬ ‫לבדוק‬ ‫כדי‬ ‫ומחייכים‬ ‫השיניים‬ ‫ומברשת‬ .‫שלנו‬ ‫המכונית‬ ‫את‬ ‫מפעילים‬ ‫אנו‬ ‫בו‬ ‫באופן‬ ‫להביט‬ ‫נוכל‬ ,‫האופן‬ ‫באותו‬ ‫מביטים‬ ,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬ .‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬ :‫ברכבנו‬ ‫נהגנו‬ ‫בו‬ ‫לאופן‬ ‫זהה‬ ‫באופן‬ ‫נתנהג‬ ‫עמו‬ ‫חלופי‬ ‫רכב‬ ‫ונקבל‬ ‫למוסך‬ ‫ניגש‬ ,‫ברכב‬ ‫לטיפול‬ ‫הזמן‬ ‫הגיע‬ ‫ואם‬ ,‫הרכב‬ ‫את‬ ‫מניעים‬ ,‫הנהג‬ ‫במושב‬ ‫מתיישבים‬ ,‫הרכב‬ ‫את‬ ‫פותחים‬‫ובדוושות‬ ,‫בהגה‬ ‫ומשתמשים‬ ,‫מאותתים‬ ,‫במראות‬ ‫מביטים‬ .‫חפצנו‬ ‫למעוז‬ ‫החנייה‬ ‫ממקום‬ ‫המכונית‬ ‫את‬ ‫לנווט‬ ‫כדי‬ ‫והדלק‬ ‫הבלמים‬ ‫את‬ ‫מבצעים‬ ‫אנו‬ ‫עליו‬ ‫לאובייקט‬ ‫ישיר‬ ‫קשר‬ ‫מבלי‬ ,‫מסוימות‬ ‫פעולות‬ ‫לבצע‬ ‫לנו‬ ‫מאפשרת‬ ‫צורתיות‬ ‫רב‬ .‫ברור‬ ,‫כן‬ ‫אם‬ ‫הרעיון‬ ‫באוביי‬ ‫יוחלף‬ ‫אובייקט‬ ‫אותו‬ ‫אם‬ ‫שגם‬ ‫כך‬ ,‫הפעולה‬‫אותו‬ ‫על‬ ‫הפעולה‬ ‫את‬ ‫מבצעים‬ ‫אנו‬ ‫בה‬ ‫הדרך‬ ‫את‬ ‫ישנה‬ ‫לא‬ ‫זה‬ ,‫אחר‬ ‫קט‬ ‫יעשה‬ ‫החדש‬ ‫האובייקט‬ .‫האחר‬ ‫באובייקט‬ ‫נהגנו‬ ‫בה‬ ‫הדרך‬ ‫באותה‬ ‫החדש‬ ‫באובייקט‬ ‫גם‬ ‫לנהוג‬ ‫נמשיך‬ ‫אנו‬ ,‫החדש‬ ‫האובייקט‬ ‫חשמלית‬ ‫בצורה‬ ‫מונעת‬ ‫להיות‬ ‫יכולה‬ ‫אחת‬ ‫שמכונית‬ ‫כשם‬ ‫בדיוק‬ ,‫הקודם‬ ‫מהאובייקט‬ ‫אולי‬ ‫שונה‬ ‫בדרך‬ ‫עבודתו‬ ‫את‬‫ע"י‬ ‫ואחרת‬ ,‫למטה‬ ,‫שמאל‬ ,‫ימין‬ :‫בשלנו‬ ‫אנחנו‬ ‫אבל‬ ,‫פחות‬ ‫או‬ ‫יותר‬ ‫טוב‬ ‫שמנקים‬ ‫סיליקוניים‬ ‫מסיבים‬ ‫בנויה‬ ‫תהיה‬ ‫אחת‬ ‫שיניים‬ ‫ומברשת‬ ‫גז‬ .‫ובלמים‬ ‫דלק‬ ,‫הגה‬ .‫למעלה‬ ‫כך‬ ,‫שונים‬ ‫אובייקטים‬ ‫לגבי‬ ‫זהה‬ ‫באופן‬ ‫מתודה‬ ‫להפעיל‬ ‫היכולת‬ .‫בדיוק‬ ‫הדבר‬ ‫אותו‬ ‫את‬ ‫לבצע‬ ‫ביכולת‬ ‫נתקלים‬ ‫אנו‬ ‫בתכנות‬ ,‫שבפועל‬.‫האובייקט‬ ‫לאותו‬ ‫שמותאם‬ ‫האופן‬ ‫באותו‬ ‫שתתבצע‬ ‫לגביו‬ ‫הרלוונטית‬ ‫המתודה‬ ‫אובייקט‬ ‫כל‬ ‫על‬ ‫תופעל‬ ‫המחלקה‬ ‫לאותה‬ ‫שהורישה‬ ‫מחלקה‬ ‫מטיפוס‬ ‫במשתנה‬ ‫לאובייקט‬ ‫רפרנס‬ ‫לשמור‬ ‫שלנו‬ ‫היכולת‬ ‫את‬ ‫הקודמים‬ ‫בנושאים‬ ‫הסברנו‬ .‫האובייקט‬ ‫נוצר‬ ‫ממנה‬ ‫ה‬ ‫מאותה‬ ‫לרשת‬ ‫מחלקות‬ ‫מס‬ ‫של‬ ‫היכולת‬ ‫את‬ ‫הסברנו‬ ,‫כן‬ ‫כמו‬‫של‬ ‫דריסה‬ ‫תתבצע‬ ,‫היורשות‬ ‫המחלקות‬ ‫שכל‬ ‫כך‬ ,‫מחלקה‬ .‫היורשת‬ ‫מהמחלקה‬ ‫אובייקט‬ ‫על‬ ‫אישית‬ ‫מותאמת‬ ‫פעולה‬ ‫תבצע‬ ‫מתודה‬ ‫שאותה‬ ‫כך‬ ,‫המורישה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫מתודה‬ :‫קודם‬ ‫שתואר‬ ‫שלנו‬ ‫היומיום‬ ‫מחיי‬ ‫צורתיות‬ ‫רב‬ ‫אותה‬ ‫את‬ ‫בדיוק‬ ‫להניב‬ ‫יכול‬ ‫אלו‬ ‫יכולות‬ ‫של‬ ‫פשוט‬ ‫שילוב‬ ‫כיצד‬ ,‫נראה‬ ‫כעת‬ ‫קו‬ ‫ראינו‬‫המחלקות‬ ‫את‬ ‫דם‬Human, Person, Student, Soldier.
  • 3. ‫תרשים‬ ‫נראה‬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"); } }
  • 4. :‫שהוסבר‬ ‫כפי‬ ‫פולימורפיזם‬ ‫של‬ ‫הקונספט‬ ‫מימוש‬ ‫לידי‬ ‫לבוא‬ ‫יכול‬ ‫כיצד‬ ‫נראה‬ ,‫כעת‬ 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. .‫המתודה‬ ‫אותה‬ ‫את‬ ‫עליו‬ ‫והפעלנו‬ ‫במערך‬ ‫תא‬ ‫לכל‬ ‫ניגשנו‬ ,‫פשוטה‬ ‫לולאה‬ ‫ובאמצעות‬ ‫במערך‬ ‫הללו‬ ‫המשתנים‬ ‫את‬ ‫הצבנו‬ ‫ביצע‬ ‫אובייקט‬ ‫כל‬ ,‫מהאובייקטים‬ ‫אחד‬ ‫לכל‬ ‫זהה‬ ‫בצורה‬ ‫נעשתה‬ ‫שהפנייה‬ ‫למרות‬‫הוא‬ ‫ממנה‬ ‫במחלקה‬ ‫שהוגדרה‬ ‫המתודה‬ ‫את‬ :‫יהיה‬ ‫לבסוף‬ ‫שהפלט‬ ‫כך‬ ,‫נוצר‬ Human Person Soldier Student