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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...