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()"); } }