Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Java حول طريقة إستدعاء متغير من السوبر كلاس في جافا

في المثال التالي قمنا بتعريف كلاس إسمه A يحتوي على متغير إسمه x.
بعدها قمنا بإنشاء كلاس إسمه B يرث من الكلاس A و يحتوي على متغير إسمه x, و دالة إسمها printBoth() تطبع قيمة x الموجود في A و قيمة x الموجود في B بطريقتين.

بعدها قمنا بإنشاء الكلاس Main لتجربة الكود.

A.java
public class A {
public int x = 5;
}
public class A { public int x = 5; }

B.java
public class B extends A { // A يرث من الكلاس B هنا قلنا أن الكلاس
public int x = 20; // مع وضع قيمة مختلفة له A هنا قمنا بتعريف نفس المتغير الموجود في الكلاس
public void printBoth() { // عند استدعاء هذه الدالة سيتم عرض الأشياء التالية
System.out.println("x in B contain: " +x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ
System.out.println("x in B contain: " +this.x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ
System.out.println("x in A contain: " +super.x); // A الموجودة في الكلاس x هنا سيتم عرض قيمة الـ
}
}
public class B extends A { // A يرث من الكلاس B هنا قلنا أن الكلاس public int x = 20; // مع وضع قيمة مختلفة له A هنا قمنا بتعريف نفس المتغير الموجود في الكلاس public void printBoth() { // عند استدعاء هذه الدالة سيتم عرض الأشياء التالية System.out.println("x in B contain: " +x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ System.out.println("x in B contain: " +this.x); // B الموجودة في الكلاس x هنا سيتم عرض قيمة الـ System.out.println("x in A contain: " +super.x); // A الموجودة في الكلاس x هنا سيتم عرض قيمة الـ } }

Main.java
public class Main {
public static void main(String[] args) {
B b = new B(); // منه printBoth() من أجل إستدعاء الدالة B هنا قمنا بإنشاء كائن من الكلاس
b.printBoth(); // هنا قمنا باستدعائها
}
}
public class Main { public static void main(String[] args) { B b = new B(); // منه printBoth() من أجل إستدعاء الدالة B هنا قمنا بإنشاء كائن من الكلاس b.printBoth(); // هنا قمنا باستدعائها } }

سنحصل على النتيجة التالية عند التشغيل.

x in B contain: 20
x in B contain: 20
x in A contain: 5
x in B contain: 20 x in B contain: 20 x in A contain: 5