By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 31: شرح الـ Constructor في لغة دارت (Constructor In Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 31: شرح الـ Constructor في لغة دارت (Constructor In Dart)
Dart

الدرس 31: شرح الـ Constructor في لغة دارت (Constructor In Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 5 دقيقة للقراءة 4614 مشاهدات 5
شارك
شرح الـ Constructor في لغة دارت (Constructor In Dart)
شرح الـ Constructor في لغة دارت (Constructor In Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

دارت هي لغة برمجة موجهة للكائنات OOP توفر ميزات مختلفة للعمل مع الكلاسات والكائنات. الـ Constructor هو أسلوب خاص يستخدم لتهيئة كائن عند إنشائه. يسمح لك بتعيين القيم الأولية لخصائص الكائن. في هذه المقالة، سنستكشف مفهوم الـ Constructor في دارت ونتعلم كيفية استخدامه بفعالية.

المحتويات
مفهوم الـ Constructor في دارت:طريقة كتابة الـ Constructor في دارت:كيفية إنشاء الـ Constructor في دارتالـ Constructor مع معاملات اختياريةالـ Constructor مع معاملات بأسماء

مفهوم الـ Constructor في دارت:

الـ Constructor في دارت هو أسلوب خاص يحمل نفس اسم الكلاس ويستخدم لتهيئة الكائن. يتم استدعاؤه تلقائيًا عند إنشاء object. يمكن استخدام الـ Constructor لتعيين القيم الأولية لخصائص الكائن object.


طريقة كتابة الـ Constructor في دارت:

صيغة الـ Constructor في دارت كما يلي:

class ClassName {
  ClassName() {
    // جسم الـ Constructor
  }
}

يحتوي جسم الـ Constructor على الأكواد التي تقوم بتهيئة خصائص الكائن object أو تنفيذ أي مهام ضرورية أخرى.


كيفية إنشاء الـ Constructor في دارت

لنبدأ بمثال بسيط لتوضيح الـ Constructor في دارت. لنفترض وجود كلاس يسمى “Person” يحتوي على خاصيتين: “name” و “age”. سنقوم بتعريف الـ Constructor للكلاس “Person” لتعيين القيم الأولية لهذه الخصائص.

class Person {
  String? name;
  int? age;

  Person(String name, int age) {
    this.name = name;
    this.age = age;
  }
}

في الأكواد أعلاه، قمنا بتعريف الـ Constructor للكلاس “Person” الذي يأخذ معاملين: “name” و “age”. داخل الـ Constructor، نسند قيم المعاملات إلى الخصائص المقابلة باستخدام الكلمة الأساسية “this”.

الآن، دعنا ننشئ كائنًا object من الكلاس “Person” ونقوم بتهيئته باستخدام الـ Constructor:

void main() {
  Person person = Person("John", 30);
  print("Name: ${person.name}");
  print("Age: ${person.age}");
}

نتيجة الكود:

Name: John
Age: 30

في الأكواد أعلاه، قمنا بإنشاء كائن “person” من الكلاس “Person” ونقل قيم “John” و 30 إلى الـ Constructor. يقوم الـ Constructor بتعيين القيم الأولية لخصائص “name” و “age”. أخيراً ، قمنا بطباعة قيم هذه الخصائص في النهاية.


الـ Constructor مع معاملات اختيارية

تتيح لك دارت تعريف الـ Constructor بمعاملات اختيارية. يمكن تجاهل المعاملات الاختيارية عند إنشاء الكائن، ويتم تعيين قيم افتراضية لها.

class Rectangle {
  double width;
  double height;

  Rectangle([this.width = 0, this.height = 0]);
}

في الأكواد أعلاه، قمنا بتعريف كلاس “Rectangle” مع معاملين اختياريين: “width” و “height”. الأقواس المربعة “[]” حول المعاملات تشير إلى أنها اختيارية. كما قمنا بتعيين قيم افتراضية قدرها 0 لكلا المعاملين.

الآن، دعنا ننشئ كائنات من الكلاس “Rectangle” مع تحديد المعاملات الاختيارية وبدون تحديدها:

void main() {
  Rectangle rectangle1 = Rectangle();
  Rectangle rectangle2 = Rectangle(5, 10);

  print("Rectangle 1: ${rectangle1.width} x ${rectangle1.height}");
  print("Rectangle 2: ${rectangle2.width} x ${rectangle2.height}");
}

نتيجة الكود:

Rectangle 1: 0.0 x 0.0
Rectangle 2: 5.0 x 10.0

في الأكواد أعلاه، قمنا بإنشاء كائنين “rectangle1” و “rectangle2” من الكلاس “Rectangle”. في “rectangle1″، لم نقدم أي قيم للمعاملات الاختيارية، لذا تأخذ قيمها الافتراضية. في “rectangle2″، قدمنا قيمًا بشكل صريح للمعاملات الاختيارية.


الـ Constructor مع معاملات بأسماء

تدعم دارت أيضًا الـ Constructor بمعاملات بأسماء. تسمح لك المعاملات بأسماء بتحديد قيم المعاملات باستخدام أسمائها، مما يوفر مرونة ووضوحًا أكبر.

class Circle {
  double radius;
  String color;

  Circle({this.radius = 0, this.color = "red"});
}

في الأكواد أعلاه، قمنا بتعريف الكلاس “Circle” مع معاملين بأسماء: “radius” و “color”. الأقواس المنحنية “{}” حول المعاملات تشير إلى أنها معاملات بأسماء. كما قمنا بتعيين قيم افتراضية قدرها 0 لـ “radius” و “red” لـ “color”.

الآن، دعنا ننشئ كائنات من الكلاس “Circle” ونحدد قيم المعاملات باستخدام أسمائها:

void main() {
  Circle circle1 = Circle(radius: 5);
  Circle circle2 = Circle(color: "blue", radius: 3);

  print("Circle 1: Radius=${circle1.radius}, Color=${circle1.color}");
  print("Circle 2: Radius=${circle2.radius}, Color=${circle2.color}");
}

نتيجة الكود:

Circle 1: Radius=5.0, Color=red
Circle 2: Radius=3.0, Color=blue

في الأكواد أعلاه، قمنا بإنشاء كائنين “circle1” و “circle2” من الكلاس “Circle”. في “circle1″، قدمنا قيمة للمعامل “radius” فقط باستخدام اسمه. لذلك، تأخذ المعاملات الأخرى قيمها الافتراضية. في “circle2″، قدمنا قيمًا لكل من المعاملات “color” و “radius” باستخدام أسمائها.


استخدام الـ Constructor في دارت يساعد في تهيئة الكائنات وتعيين القيم الأولية لخصائصها. إنها طريقة قوية لتنظيم وتبسيط الأكواد وتعزيز قابلية إعادة الاستخدام. يمكنك تعريف الـ Constructor بمعاملات اختيارية أو بأسماء، حسب متطلباتك.

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح مفهوم الـ Object في لغة دارت (Object In Dart) الدرس 30: شرح مفهوم الـ Object في لغة دارت (Object In Dart)
المقال التالي شرح مفهوم الـ Default Constructor في لغة دارت الدرس 32: شرح مفهوم الـ Default Constructor في لغة دارت
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

5
10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

5
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟