بسم الله الرحمان الرحيم
بداية موفقة اخي piratewar
بالتوفيق إن شاء الله فانا اتابع ما تقوم به و تمنيت لو استعملت الدالفي و فتحتها ورشة للمساهمة و المشاركة الجماعية كل بما يعرف حتى نستفيد و نتعلم معكم يا اساتذتنا ولكن لابأس واصلوا و نحن نتابع و نشجع و نتمنى أن نرى المشروع يرى النور في أقرب وقت إن شاء الله
وفقكم الله و سدد خطاكم آمين
بصراحة أستاذي العزيز قمت بتجربة النتائج المترتبة
عند عدم استخدام parameter Aowner الخاص بالإجراء create
و قادني ذلك إلى هذه الصورة التوضيحي
ولكن يبقى السؤال هل يجب معرفة التخطيط السابق بالتفصيل
عند محاولة برمجة الكائنات(وبالأخص المكونات)
جزاكم الله خيرا ً على المعلومات الرائعة
قمت بعمل المطلوب ولكن Tshoot
لا يندرج تحت TActor
حيث أن إجراءاته و حركاته مختلفة
و لكن في المقابل كانت لدي ميزة جديدة و هو عدم تكرار إجراءات أكثر من مرة
هناك شيء آخر هل إستخدمنا Encapsulation مع الإجراء Initiation
ملاحظة لابد منها :
بصراحة لم أستخدم البرمجة الكائنية من قبل اللهم إلا عند تطبيق الأمثلة الموجودة بالكتب
أو التعامل مع المكونات التي أقوم بتحويلها من دلفي للازاراس(و لا تعتبر ممارسه أيضاً)
و لكن أول مرة أتعرض لمشكلة برمجية و أحلها بطريقة كائنية
التفكير بها متسلسل و ممتع جداً

سؤال آخر :
ماذا إن أردت استخدام بعضاً من خصائص Tshape , Timage
هل يسمح باستخدام الوراثة المتعددة؟ وكيف يتم التصريح؟
المرفق التالي به نفس التعديلات
ولكن استخدمت Timage كancestor
لم بستغرق التعديل دقيقتان

أستاذي السلام عليكم وحمة الله
جزاكم الله خيراً على هذه المنفعة
لم يتم المطلوب كاملاً :confused:
قمت فقط بتعديل الإجراءات الخاصة بكائنات الإطلاق
و قمت ببناء كائن Tbullet هذا مع الكائن Tbomb الذي قمتم ببرمجته مع بعض التعديل .
و عدلت على الكائن Tshoot ليصبح أباً لهما

و بالنسبة للواجهات لم ألمسها (ربما لم أفهمها جيداً)
حيث وجدت أنه تكرار بدون داع و هو تكرار التصريح عن دوال و إجراءات وإعادة التصريح عنها في الكائنات
المشتركة
(ما أفهمة من مبدأ تعدد الواجهات هو إجراءات و أحداث الهدف منها واحد ولكن الكائنات تقوم بتنفيذها بعمليات مختلفة و بمعاملات مختلفة)
سؤال آخر
كيف سأستفيد بمبدأ تعدد الواجهات
في حين أجد مبدأ الوراثة أسهل و أكثر تنظيماً