כללי אצבע בהורשה בשפת 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.