اذهب إلى المحتوى
  • 0

ما هو الفرق بين التابع Method والباني constructor في لغة جافا

khaled0mohammed

السؤال

Recommended Posts

  • 0

المُنشئ ( constructor ) هو أيضًا Method في الكلاس ( class ) ، وفي ما يلي قد يجعلك تشعر بالاختلاف بشأن المُنشئ:

  • يحمل المُنشئ نفس اسم الفئة ( class ) ، كما في المثال التالي 
class Person{
	String name;
	int age;

	Person(){
		name = new String();
		age = 2;
	}
}
  • المُنشئ هو الطريقة الأولى التي يتم تشغيلها عند إنشاء مثيل للفئة (يسمى أيضًا الكائن).
  • المُنشئ ، باعتباره أول طريقة يتم تشغيلها ، هو عادةً ما يُستخدم لإنشاء مثيل للكائنات وتهيئة المتغيرات ، والتي هي أعضاء في الفئة، لا يقوم المُنشئ بإرجاع أي قيمة وبالتالي لا يوجد نوع إرجاع.
  • يمكن تحميل المُنشئ ، مثل أي وظيفة. 

Method هي مجموعة من العبارات التي يتم تجميعها معًا لإجراء عملية. مثل

class Person{
	public static int test(int x, int y)
	{
		
	}
}

 

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

  • 0

هناك العديد من الاختلافات بين الدوال والباني.

أولاً: الباني

- يكون اسم الباني مطابقًا لاسم الفئة.
- يُستخدم الباني لتهيئة حالة الكائن.
- يوفر مترجم Java باني افتراضيًا إذا لم يكن لديك أي باني في الكلاس. باني فارغ لكي تستطيع إنشاء كائن من الصنف.
- اول ما تنشأ كائن يتم استدعاء الباني تلقائياً.

-- الباني دالة بنفس اسم الكلاس. 
اعطيك مثال على الباني :

//هذا مثال يوضح لك ما هي اهمية البناء في الصنف
// يستخدم البناء لتهيئة المتغيرات للصنف
class Student{  
    int id;  
    String name;  
    // هذا الباني يستخدم لتهئية العدد الصحيح والاسم
    Student(int i,String n){  
    id = i;  
    name = n;  
    }  
  
   	// هنا ملاحظة انه يمكن انشاء اكثر من بناء لنفس الصنف  
  
    void display(){System.out.println(id+" "+name);
}  
   
    public static void main(String args[]){  
    Student s1 = new Student(125,"َQusay");   // عند انشاء هذا الكائن يتم تنفيذ البناء تلقائيا
    s1.display(); // استدعاء الدالة لعرض البيانات وهذا الفرق بين البناء والدوال، انه الدوال تحتاج الى استدعاء
   }  
}  

ثانياً: الدوال.

- الدوال تستخدام للتعبيرعن سلوك الكائن.
- الدوال لا يتم تنفيذها تلقائياً من قبل المترجم.
- الدوال نوعان دوال ترجع قيمة ودوال لا ترجع قيمة.

public class Main {
  // هذه دالة لا ترجع قيمة عند الاستدعاء يتم طباعة جملة الطباعة فقط
  static void hello() {
    System.out.println("مرحبا بك");
  }
  
  // هذه الدالة ترجع قيمة المتغير x
  static void sum() {
    return int x = 5 + 5;
  }

  public static void main(String[] args) {
    hello(); // لا تحتاج الى جملة طباعة لانها لا ترجع قيمة
    
    System.out.println(sum()); // تحتاج الى جملة طباعة لطباعة القيمة التي في داخلها 
    
  }
}

 

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...