Javaأمثلة حول تعدد الوراثة في جافا
- المثال الأول
- المثال الثاني
- المثال الثالث
المثال الأول
في هذا المثال قمنا بتعريف إثنين إنترفيس A و B:
- الإنترفيس
Aيملك دالة إسمهاprintA(). - الإنترفيس
Bيملك دالة إسمهاprintB().
ثم قمنا بتعريف كلاس إسمه C و قلنا أن C ينفذ A و B.
public interface A { void printA(); }
public interface B { void printB(); }
public class C implements A, B { // لجميع الدوال التي ورثها Override إذاً يجب أن يفعل B و الإنترفيس A ينفذ الإنترفيس C هنا الكلاس // printA() للدالة Override مجبور أن يفعل C الكلاس public void printA() { System.out.println("C should Override the method printA()"); } // printB() للدالة Override مجبور أن يفعل C الكلاس public void printB() { System.out.println("C should Override the method printB()"); } }
المثال الثاني
في هذا المثال قمنا بتعريف إنترفيس A يملك دالة إسمها printA().
و إنترفيس B يرث من الإنترفيس A و يملك دالة إسمها printB().
ثم قمنا بتعريف كلاس إسمه C يطبق الإنترفيس B, و بالتالي عليه أن يفعل Override لجميع الدوال التي ورثها.
public interface A { void printA(); }
public interface B extends A { void printB(); }
public class C implements B { // printB() و printA() للدالتين Override إذاً يجب أن يفعل .B و الذي بدوره يرث من الإنترفيس B يطبق من الإنترفيس C هنا الكلاس // printA() للدالة Override مجبور أن يفعل C الكلاس public void printA() { System.out.println("C should Override the method printA()"); } // printB() للدالة Override مجبور أن يفعل C الكلاس public void printB() { System.out.println("C should Override the method printB()"); } }
المثال الثالث
في هذا المثال قمنا بتعريف إنترفيس A يملك دالة إسمها printA().
و كلاس B يملك دالة إسمها printB().
ثم قمنا بتعريف كلاس إسمه C يرث من B و ينفذ A.
public interface A { void printA(); }
public class B { void printB() { System.out.println("C not need to Override the method printB()"); } }
public class C extends B implements A { // A و ينفذ الإنترفيس B يرث من الكلاس C هنا الكلاس // printA() للدالة Override مجبور أن يفعل C الكلاس public void printA() { System.out.println("C should Override the method printA()"); } }