כללי אצבע בהורשה בשפת java - תכנות מונחה עצמים.כלל...
כללי אצבע בהורשה בשפת java - תכנות מונחה עצמים.
כלל ראשון
כל המחלקות יורשות בצורה זו או אחרת מהמחלקה: Object.
לכן כל מחלקה שניצור, תיצור גם אובייקט מטיפוס Object.
למשל שני הביטויים יהיו שקולים:
ביטוי ראשון:
public class Student{
}
ביטוי שני:
public class Student extends Object{
}
לכל מחלקה בשפה יש את הפעולות של המחלקה Object, למשל:
toString()
equals()
ניצור לדוגמה את המחלקה Person:
public class Person{
private String name;
public Person(String name)
{
this.name = name;
}
}
ניצור לדוגמה את המחלקה Student:
public class Student{
private String name;
private int grade;
public Student(String name, int grade)
{
this.name = name;
this.grade = grade;
}
}
ניתן לראות שגם ל Person וגם ל Student יש את אותה תכונה: name, קוד שחוזר על עצמו זה קוד לא טוב!
לכן נשתמש בפתרון שיש לשפה להציע והוא: ירושה.
public class Student extends Person{
private int grade;
public Student(String name, int grade)
{
super(name);
this.grade = grade;
}
}
עכשיו המחלקה Student יורשת מהמחלקה Person.
בעצם שאנחנו יוצרים Student מה באמת נוצר? ומה הסדר של היצירה?
הראשון שנוצר: Object
השני שנוצר: Person
השלישי שנוצר: Student.
לכן לתלמיד בזמן ריצה יהיו את כל הפעולות שיש ל-Object, ל Person ול-Student.