في Dart، يتم إنشاء الـ constructor الافتراضي تلقائيًا من قبل Dart إذا لم تقم بتعريف constructor بشكل صريح في الكلاس الخاص بك. الـ Default Constructor هو constructor ليس له معاملات ويتم استخدامه لتهيئة متغيرات الكلاس. في هذا المقال، سنستكشف مفهوم الـ Default Constructor ونرى أمثلة على كيفية استخدامه.
بنية الـ Default Constructor
الـ Default Constructor يُعلن باستخدام اسم الكلاس متبوعًا بالأقواس ()
.
class ClassName { // الـ Default Constructor ClassName() { // جسم الـ Constructor } }
أمثلة لتوضيح الـ Default Constructor
مثال 1: الـ Default Constructor في Dart
لنبدأ بمثال بسيط لفهم مفهوم الـ default constructor. لنفترض لدينا كلاس يسمى Laptop
يحتوي على خاصيتين هما: brand
و prize
. سنقوم بإنشاء الـ default constructor بدون معاملات ونقوم بطباعة رسالة من الـ constructor.
class Laptop { String? brand; int? prize; // الـ Default Constructor Laptop() { print("هذا هو الـ default constructor"); } } void main() { Laptop laptop = Laptop(); }
نتيجة الكود:
هذا هو الـ default constructor
في المثال أعلاه، يتم استدعاء الـ default constructor للكلاس Laptop
تلقائيًا عند إنشاء كائن من الكلاس باستخدام الصيغة Laptop()
.
مثال 2: الـ Default Constructor مع التهيئة
في هذا المثال، دعونا نقم بإنشاء كلاس يسمى Student
يحتوي على أربع خصائص: name
و age
و schoolname
و grade
. سنستخدم الـ default constructor لتهيئة قيمة الخصائص schoolname
، حيث أنها نفسها لجميع الطلاب. سنقوم أيضًا بتعيين قيم للخصائص الأخرى ونقوم بطباعتها.
class Student { String? name; int? age; String? schoolname; String? grade; // الـ Default Constructor Student() { print("تم استدعاء الـ constructor"); schoolname = "مدرسة ABC"; } } void main() { Student student = Student(); student.name = "جون"; student.age = 10; student.grade = "A"; print("الاسم: ${student.name}"); print("العمر: ${student.age}"); print("اسم المدرسة: ${student.schoolname}"); print("التقدير: ${student.grade}"); }
نتيجة الكود:
تم استدعاء الـ constructor الاسم: جون العمر: 10 اسم المدرسة: مدرسة ABC التقدير: A
في المثال أعلاه، يتم استدعاء الـ default constructor للكلاس Student
تلقائيًا عند إنشاء كائن من الكلاس باستخدام الصيغة Student()
، ثم نقوم بتعيين قيم الخصائص name
و age
و grade
، وتمت تهيئة قيمة الخصاص schoolname
بواسطة الـ default constructor.
مثال 3: الـ Default Constructor في Dart
في هذا المثال، دعونا نقم بإنشاء كلاس يسمى Person
تحتوي على خاصيتين هما: name
و planet
. سنقوم بتنفيذ الـ default constructor لتهيئة قيمة الخاصية planet
إلى “Earth”. سنقوم بإنشاء كائن من الكلاس Person
، وبتعيين الاسم إلى “اسمك”، وسنقوم بطباعة الاسم والكوكب.
class Person { String? name; String? planet; // الـ Default Constructor Person() { planet = "Earth"; } } void main() { Person person = Person(); person.name = "اسمك"; print("الاسم: ${person.name}"); print("الكوكب: ${person.planet}"); }
نتيجة الكود:
الاسم: اسمك الكوكب: Earth
الـ Default Constructor في Dart هو constructor يتم إنشاؤه تلقائيًا بواسطة Dart إذا لم تقم بتعريف constructor في الكلاس. يُستخدم لتهيئة متغيرات الكلاس. الـ Default Constructor ليس له معاملات ويُعلن باستخدام اسم الكلاس متبوعًا بالأقواس. فهم مفهوم الـ default constructors أمر أساسي في برمجة Dart ويسمح بتهيئة واستخدام الكائنات بكفاءة.