في هذه المقالة، سنتعرف على مفهوم الـ Object في لغة برمجة دارت (Dart)، وسنتعلم كيفية إنشاء واستخدام Objects في برامجنا. سنقوم بتوضيح مفهوم الـ Object وعملية الاستنساخ (Instantiation)، وسنقدم أمثلة توضيحية مع شرح الأكواد.
مفهوم الـ Object في دارت:
في البرمجة الكائنية OOP، يعتبر الـ Object وحدة مستقلة تحتوي على كود وبيانات. يتم إنشاء الـ Objects من قوالب تسمى الـ Classes. وتتألف الـ Objects من خصائص (متغيرات) وميثود (دوال). على سبيل المثال، قد يحتوي Object الدراجة على خصائص مثل اللون والحجم والسرعة الحالية، وقد يحتوي على دوال مثل تغيير التروس وزيادة السرعة والتوقف.
عملية الاستنساخ (Instantiation):
في البرمجة الكائنية OOP، الاستنساخ هو عملية إنشاء نسخة (Instance) من الـ Class. بمعنى آخر، يمكننا أن نقول أن الاستنساخ هو عملية إنشاء Object من الـ Class. على سبيل المثال، إذا كان لدينا Class يسمى Bicycle (الدراجة)، يمكننا إنشاء Object من الـ Class يسمى bicycle.
طريقة إنشاء الـ Object في دارت:
بمجرد إنشاء Class، حان الوقت لإنشاء الـ Object. يمكننا إنشاء الـ Object باستخدام الصيغة التالية:
ClassName objectName = ClassName();
أمثلة توضيحية لإنشاء الـ Object في دارت:
دعونا نتعرف على أمثلة توضيحية لإنشاء الـ Object في دارت:
مثال 1: إنشاء الـ Object في دارت
في هذا المثال، لدينا Class يسمى Bicycle (الدراجة)، ويحتوي على ثلاث خصائص: اللون والحجم والسرعة الحالية. كما يحتوي الـ Class على اثنتين من الدوال: changeGear (تغيير التروس) و display (عرض القيم). ولدينا أيضًا Object من الـ Class يسمى bicycle.
class Bicycle { String? color; int? size; int? currentSpeed; void changeGear(int newValue) { currentSpeed = newValue; } void display() { print("Color: $color"); print("Size: $size"); print("Current Speed: $currentSpeed"); } } void main(){ Bicycle bicycle = Bicycle(); bicycle.color = "Red"; bicycle.size = 26; bicycle.currentSpeed = 0; bicycle.changeGear(5); bicycle.display(); }
ناتج تنفيذ الكود:
Color: Red Size: 26 Current Speed: 5
مثال 2: إنشاء Object من Class (Animal)
في هذا المثال، لدينا Class يسمى Animal (الحيوان)، ويحتوي على ثلاث خصائص: الاسم وعدد الأرجل والعمر المتوقع. ويحتوي الـ Class أيضًا على دالة واحده تسمى display (عرض القيم). ولدينا أيضًا Object من الـ Class يسمى animal.
class Animal { String? name; int? numberOfLegs; int? lifeSpan; void display() { print("Animal name: $name"); print("Number of Legs: $numberOfLegs"); print("Life Span: $lifeSpan"); } } void main(){ Animal animal = Animal(); animal.name = "Lion"; animal.numberOfLegs = 4; animal.lifeSpan = 10; animal.display(); }
ناتج تنفيذ الكود:
Animal name: Lion Number of Legs: 4 Life Span: 10
مثال 3: إنشاء Object من Class (Car)
في هذا المثال، لدينا Class يسمى Car (السيارة)، ويحتوي على ثلاث خصائص: الاسم واللون وعدد المقاعد. ويحتوي الـ Class أيضًا على دالة واحده تسمى start (بدء التشغيل). ولدينا أيضًا Object من الـ Class يسمى car وObject آخر يسمى car2.
class Car { String? name; String? color; int? numberOfSeats; void start() { print("$name Car Started"); } } void main(){ Car car = Car(); car.name = "BMW"; car.color = "Red"; car.numberOfSeats = 4; car.start(); Car car2 = Car(); car2.name = "Audi"; car2.color = "Black"; car2.numberOfSeats = 4; car2.start(); }
ناتج تنفيذ الكود:
BMW Car Started Audi Car Started
مثال 4: إنشاء Class Camera واستدعاء الدالة display
قم بإنشاء Class يسمى Camera (الكاميرا) بثلاث خصائص: الاسم واللون وعدد الميجابكسل. قم بإنشاء دالة تسمى display (عرض القيم) تقوم بطباعة قيم الخصائص الثلاثة. ثم قم بإنشاء كائنين من الـ Class Camera واستدعاء الدالة display.
لحل التحدي، يمكننا إنشاء Class جديد يسمى Camera وتعريف الخصائص المطلوبة والدالة display لعرض القيم. هنا هو الكود:
class Camera { String? name; String? color; int? megapixels; void display() { print("Camera name: $name"); print("Color: $color"); print("Megapixels: $megapixels"); } } void main() { Camera camera1 = Camera(); camera1.name = "Nikon"; camera1.color = "Black"; camera1.megapixels = 20; camera1.display(); Camera camera2 = Camera(); camera2.name = "Canon"; camera2.color = "Silver"; camera2.megapixels = 24; camera2.display(); }
ناتج تنفيذ الكود:
Camera name: Nikon Color: Black Megapixels: 20 Camera name: Canon Color: Silver Megapixels: 24
نقاط مهمة عن إنشاء الـ Object في دارت:
- الدالة الرئيسية (main method) هي نقطة البدء في البرنامج، وبالتالي يتطلب وجودها لعرض النتائج.
- يمكن استخدام كلمة “new” لإنشاء Object جديد، ولكنها اختيارية في دارت.
- نصيحة: من المهم ممارسة الأمثلة وتجربتها بنفسك لفهمها بشكل أفضل.
في هذه المقالة، قمنا بتعريف مفهوم الـ Object في لغة برمجة دارت وتعلمنا كيفية إنشاء واستخدام الـ Objects في برامجنا. قمنا بشرح مفهوم الـ Object وعملية الاستنساخ، وتعلمنا كيفية إعلان الـ Objects في دارت باستخدام الـ Classes. قمنا بتوضيح الأمثلة المختلفة مع شرح الأكواد وعرض نتائج الأكواد.
يجب على المبرمجين الجدد ممارسة الأمثلة وتجربتها بأنفسهم لفهم هذا المفهوم بشكل أفضل. قد يتطلب الأمر بعض الوقت والممارسة للتأقلم مع البرمجة الكائنية OOP واستخدام الـ Objects بشكل فعال. يمكن استخدام الـ Objects لإنشاء برامج متطورة ومرنة تتعامل مع البيانات والدوال بشكل منظم ومنفصل.
نأمل أن يكون هذا المقال قد ساعدك في فهم مفهوم الـ Object في دارت وكيفية استخدامها في برامجك. استمر في الممارسة واستكشاف مزيد من المفاهيم والميزات المتاحة في لغة برمجة دارت.