الوراثة الجزثية
أي أن الآصناف ستكون كما يلي (مع ملاحظة أن الرمز غم يعنى غير مُشترّك):
4 أي أن كل إجراء من تلك الإجراءات يُوجَد في كل تلك الأصناف: و ليس لصفة مشترك هنا نفس
المعني الذي لها في قواعد لغة إبداع.
الوراثة الجزثية
و لو أردنا وذ
لهيكل شجرة الوراثة التقليدية التي ستكون بين هذه الأصناف. ب تغل
إمكانية التوارث بأفضل الطرق فسيكون التصميم كما يلى:
بيث في هذا النموذج تكون الأصناف في المستوى الأدنى وارثة للأصناف التي من المستوى الأعلى و
تربطها بها أسهم. و التكوينات الداخلية لتلك الأصناف ستكون كما يلي:
صنف.ب م صنف
فرج صنفاط
الوراثة الجزثية
و هكذا يمكننا أن تحصل على الأصناف الرئيسة في برنامجنا: صنف 1. صنف 2. صنف 3.
صنف 4. صنف 5. صنف 6 من الموجودة في شجرة الوراثة كما في الجدول التالي:
الصنف الرئيس الصنف المُمثّل له في شجرة الوراثة
صنف 1 صتفاح
صنف 2 صتقيط
صنف 3 صتطيدد
صنف 4 صتفاه
صنف 6 صنفاج
تسعة أصنافٍ لتنسيق شجرة الوراثة و جعلها أفضل هيكلا و أكثر منطقية. و هذا يعني أنه إذا ما
أردنا تعديل بناء 1126121813017 111216 إجراء من الإجراءات المُشْترّكَة
أن نتذكر في أي صنفؤٍ
نا أن تُطَلِق على كل صنف من الأصناف الوراثية ا وب عن وظيفته بالضبط (كما
شبكة الوراثة أكبر و أكثر في عدد المستويات.
و عندما تفكر في كيفية استخدام الوراثة الجزئية لإيجاد تصميم جيدٍ و سهل للمسألة السابقة
ضنجد أكثر من حل منها:
1- التصميم الأول:
الوراثة الجزثية
صنف
مع الأخذ في العلم أن الإجراءات التي كَتِبّت أسماؤها باللون الأحمر تم استثناؤها من الوراثة.
فنحصل على الأصناف الرئيسة من أصناف شجرة الوراثة كما في الجدول التالي:
الصنف الرئيس
صنف 1
صنف 2 صنفاج
صنف 3 صتقيد
صنف 4 صتقده
صنف 5 اصنفيو
صنف 6 تفز
و بمقارنة التصميم كامل الوراثة بالتصميم ال لق ثرى أن الأخين مار ررس لخر مر
المُشترّكة بين الأصناف المتوارثة.
الوراثة الجزثية
2- التصميم الثاني:
فتحصل على الأصناف الرئيسة من أصناف
ة الوراثة كما في الجدول التالي:
الصنف المُمثّل له في شجرة الوراثة
صنف 1 :
صتفاح
صنف 2
صنف 3 صتفاج
صنف 4 تيد
صنف 5 تفده
صنف 6 صنقيو
الناف
في المنتصف. بين التصميم الكامل الوراثة. و التصميم الأول بالوراثة
استخدمنا فيه ثمانية أصنافٍ لتمثيل الستة المرغوب فيهن. مع التقليل من
من نصيب الإجراء إجراء 4 في عملية وراثة صنف.و للصنف صنف.أ.
الوراثة الجزثية
العيوب
رغم ما سبق زكره من أدلةٍ علي قدرة الوراثة الجزئية نظريا علي تبسيط نموذج وراثة
من المستحيل بناءها في لفات البرمجة ذات الإمكانات الكائن
بشكل كامل علي نموذج "التتويع الثابت 1701125 818112" و من تلك العيوب:
© التعارض مع أبسط مباديء البرمجة الكائنية. و أقصد مبدآً أن "الصنف الوارث يُوْدي
من الضروري أن تكون بنفس طرق الأداء)”. أي أن الوراثة الناقصة تهدم قاعدة
من أبسط بدهيات البرمجة الكائنية و أول قواعدها التي تقوم عليها !
فعلي سبيل المثال لو تخيلنا أنه في لغة إبداع تُوجَّد إمكانية الوراثة الناقصة. و أننا
استخدمنا تعبير ما عدا (الذي يُستخدم في الوراثة المت
أكوام مكتوبةٍ بلغة إبداع تشبه الكود التالي:
ججعة صوية سدس 7(
5 أقصد بالخصائص هنا أشياء مثل معدل الوصول 1120011161 800688 للإجراء الموروث أو هل
هو مُشترّك 818116 أم لا. و أنواع و ترتيب المُدخلات و المُخرجات. و غيرهن من الأمور الأخري.
الوراثة الجزثية
نيو سند سب
هذا الكود يتم تمريره في زمن التصحيح 111226 00171116 بسلاسة تامة بينما في
زمن التنفيذ ع0تنا 1117 ستُحدْث مشكلةٌ عند تتفيذه؛ لآن الإجراء إجراء 1 لا
للصنف صنف 1.
1 إلا في أثناء زمن التنفيذ؛ فساعتها فقط ستعلم هل تم إسناد قيمةٍ من النوع صنف 1
فلن تحدث هناك مشكلة في تنفيذ الكود لآن الإجراء إجراء 1 موجودٌ في كائنات
و هذا النوع من المشاكل في الأكواد يُعد هو الآسواً؛ لآنه لا يظهر في المراحل الأولي
من كتابة البرامج بل في مرحلة تنفيذها و الاعتماد عليها في العمل. و هي المرحلة التي
لا يُمكن للمبرمج التدخل فيها لإصلاح الأمور إلا بخسائر كبيرة. و مع بذل مجهود
أكبر لفهم أسباب و ظروف و طرق حل المشكلة التي تحدث.
فيها إلي التضحية بما نعتقد وجوده من ميزات الوراثة الناقصة و إهمالها؛ حتي نستطي
الحصول علي أكوادٍ مآمونة.
الوراثة الجزثية
© الزيادة المُطَرِدة في قواعد لغة البرمجة التي تدعم هذا النوع من الوراثة؛ فهي تحتاج
علي الأقل لدعم القواعد التالية:
إبداع (كما سبق التوضيح اي المثال الوهمي السابق) يمكننا أن نستخدم قاعدة
الأسباب و النواتج). و مثل هذه القاعدة لا يمكن الاستغناء عن وجودها في أي لغةٍ
تريد دعم الوراثة الناقصة.
* قاعدةٌ لتحديد أي المكونات التي في الصنف القابل للوراثة نرغب في آلا يكون
من ال ن استعمال الوراثة الجزتية معها؛ لأنه في معظم الأحيان سوف تر
في إجبار المبرمج الذي سيستخدم الأصناف التي تكتبها علي عدم استثناء أي
مكون داخلها .كنوع من ضمان الاستخدام الأفضل لما ته من أكواد.
و يمكننا عمل مثل هذه القاعدة بأكثر من طريق. فمثلا يمكن استخدام الصفة
إجراء لازم إجزاء1:
ع تس اط رين داجل الإجراء مز ل
إجراء لازم إجراء 1:
أدبنس سطرا* من داخل الإجزاء إجزاه 1*)