• 0

طريقة استدعاء دوال كلاس من خلال كلاس آخر في جافا

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

من الممكن اجل لان الكلاس 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 يمكنك أن تقرأه لتفهم أكثر 

 

تمّ تعديل بواسطة شرف الدين2
اضافة رابط مقالة لربط الفهم

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

نعم يمكنك فعل ذلك باستخدام الوراثة (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

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن