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

هل يتم معاملة الـ Constructor في جافاسكريبت بنفس طريقة معاملة الـ Constructor في C++؟

محمود الحصرية

السؤال

Recommended Posts

  • 0

في كل من جافاسكريبت و C++، الـ constructor هي دالة خاصة يتم استدعاؤها عند إنشاء كائن جديد، نستخدمها لإعداد الكائن الجديد و تخصيص قيمه الأولية.

وهناك بعض الاختلافات بين كيفية معاملة ال constructor في جافاسكريبت و C++.

  • في C++، يجب أن تكون ال constructor مخصصة، أي يجب أن يكون لها اسم فئة كاسم لها، بينما في جافاسكريبت، لا يلزم أن تكون ال constructor مخصصة.
  • في C++، يمكن أن تعيد ال constructor قيمة، أما في جافاسكريبت، لا يتم إعادة قيمة.
  • في C++، ترث الـ constructor من فئات أخرى، بينما في جافاسكريبت،لا ترث الـ constructor من فئات أخرى.

مثال على الـ constructor في جافاسكريبت:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const person = new Person("mahmoud", 30);
console.log(person.name); // "mahmoud"
console.log(person.age); // 30

تُنشئ دالة الـ constructor الكائن الجديد وتعيين قيمة للمتغيرين name و age.

مثال على الـ constructor في C++:

class Person {
 public:
  Person(const std::string& name, int age) : name_(name), age_(age) {}

 private:
  std::string name_;
  int age_;
};

int main() {
  Person person("mahmoud", 30);
  std::cout << person.name() << std::endl; // "mahmoud"
  std::cout << person.age() << std::endl; // 30
}

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...