بسم الله الرحمن الرحيم
يعجبني في الأخ محمد هلال أنه يحب التعلم، ولذلك من يحب التعلم يسأل.
أخي دعني أعطيك بعض الأمثلة التي إن شاء الله من شأنها أن تصل لك لماذا نستخدم البرمجة الكائنية، ولماذا نبتعد عن البرمجة القديمة التقليدية.
إفرض اخي محمد أن لديك أسد ولبؤة وفيل وديك ودجاجة وببغاء وحمامة ورجل وإمرأة وطفل وفتاة وفتى.
في البرمجة العادية ستقوم أخي بوضع كل هذه الأمور مع بعضها البعض، وبذلك ستجد أن الأسد واللبؤة والفيل والديك والدجاجة والببغاء والحمامة والرجل والمرأة والطفل والفتاة والفتى، لا يمكن أن نضعهم بشكل منطقي مع بعضهم البعض، لإنهم مختلفين كلياً، فهناك مفترسات وهناك طيور وهناك ثديات وهناك بشر، وهكذا.
هذا ما يحدث في الطريقة التقليدية.
أما الصحيح، هو أن نقوم بالبداية بمعرفة ما لدينا حتى نقوم بتقسيمه بشكل صحيح فمثلاً، نقوم بالتقسيم على أنها حيوانات وطيور وبشر، أو ثديات وغير ثديات.
وبذلك لو جئنا على تقسيمها على أساس أنها حيوانات وطيور وبشر، فإننا نضعها كما يلي
حيوانات: أسد، لبؤة، فيل
طيور: ديك، دجاجة، ببغاء، حمامة
بشر: رجل، إمرأة، طفل، فتاة، فتى
ولكن هل هذا التقسيم كافي؟!!
لا أعتقد.
لأن الأسد واللبؤة سيأكلان الفيل!
لذلك نحتاج إلى تقسيم الحيوانات إلى قسمين، مفترسة وغير مفترسة
وبذلك تصبح:
حيوانات: (مفترسة: أسد، لبؤة)، (غير مفترسة: فيل)
وبهذه الطريقة فصلنا بين المفترس وغير المفترس، وأصبح الفيل بأمان، ولكن كلاهما بقيا تحت أب واحد وهو انهما حيوانات.
وبذلك عندما يأتي حيوان آخر غير مفترس، من السهل أن أجد مكاناً آمناً له.
وهذا تقريباً ما يحدث في البرمجة الكائنية.
فنحن فيها نفكر بطريقة قريبة جداً من التفكير البشري، ما يضيف للبرمجة جمالاً وميزات أخرى لا توجد في البرمجة التقليدية.
أتمنى أن أكون وفقت في تقريب الصورة لك.
بالتوفيق.
التعديل الأخير تم بواسطة MPHP ; 10-02-2009 الساعة 10:39 AM
__________________
لا إله الا الله محمد رسول الله
فضائية الأقصى :: عينك على الوطن
نيلسات: 10872 عمودي 27500
عربسات: 12054 عمودي 27500
إعلامنا.. إسلامي.. هادف.. مقاوم.. لتعلو الراية..