Hoida Ahamed نشر 27 أغسطس 2021 أرسل تقرير نشر 27 أغسطس 2021 Public class B{ int num; public setNum(int n){ num=n; } public int getNum(){ return num; } } Public class A{ public B b; } ممكن تعريف كائن من الكلاس A واستدعاء دوال Bمن خلاله🤔 اريد معرفة طريقة لجعل ذلك ممكن 2 اقتباس
0 شرف الدين حفني نشر 27 أغسطس 2021 أرسل تقرير نشر 27 أغسطس 2021 (معدل) من الممكن اجل لان الكلاس a يحمل فى خصائصه متغير من نوع الكلاس b من الممكن انشاء كائن من الكلاس a وتعريف كائن من الكلاس b من خلاله ومن ثم استدعاء دواله كما فى المثال الاتي: a=new A(); a.b=new B(); a.b.setNum(2); System.out.println(a.b.getNum()); ومن الممكن تعديل الكود ليصبح قابل للقراءة ومنظم بشكل اكثر كما فى الشكل التالي a=new A(); a.b=new B(); B b=a.b; b.setNum(2); System.out.println(b.getNum()); ومن الممكن اضافة دوال الgetters و الsetters كما بالشكل الاتي ليصبح الكود منظم اكثر و تقم بعملية encapsulation لدوال الكلاس b بداخل الكلاس a Public class B{ int num; public setNum(int n){ num=n; } public int getNum(){ return num; } } Public class A{ public B b; public A(B b){ this.b=b; } public B getNum(){ return this.b.getNum(); } public void setNum(int num){ this.b.setNum(num); } } وتقم باستدعائهم على النحو الاتي B b =new B(); A a=new A(b); a.setNum(2); System.out.println(a.getNum()); وتلك مقالة بها فى اول جزأ شرح مبسط لمفهوم الencapsulation يمكنك أن تقرأه لتفهم أكثر تم التعديل في 27 أغسطس 2021 بواسطة شرف الدين2 اضافة رابط مقالة لربط الفهم اقتباس
0 محمد أبو عواد نشر 27 أغسطس 2021 أرسل تقرير نشر 27 أغسطس 2021 نعم يمكنك فعل ذلك باستخدام الوراثة (extends) , لننشئ الكلاس B أولا class B { int num; public void setNum(int n){ this.num=n; } public int getNum(){ return this.num; } } ثم لننشئ الكلاس A ونجعله يرث من الكلاس B كالتالي public class A extends B { } الآن لننشئ دالة main بداخل الكلاس A وننشئ كائن من الكلاس A public class A extends B { public static void main(String[] args) { A a = new A(); } } لنحاول باستخدام الكائن a الوصول للخصائص الموجودة في الكلاي B , سوف نضع قيمة للمتغير num ثم نطبعها, فيكون شكل الكود كالتالي public class A extends B { public static void main(String[] args) { A a = new A(); a.setNum(1); System.out.println(a.getNum()); } } سوف تكون النتيحة 1 اقتباس
السؤال
Hoida Ahamed
Public class B{ int num; public setNum(int n){ num=n; } public int getNum(){ return num; } } Public class A{ public B b; }
ممكن تعريف كائن من الكلاس A واستدعاء دوال Bمن خلاله🤔
اريد معرفة طريقة لجعل ذلك ممكن
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.