Devil Code

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

DevilCode


    البرمجة بالكائنات الشيئية

    Coder
    Coder
    Manager
    Manager


    عدد المساهمات : 202
    النقاط : 5976
    تاريخ التسجيل : 20/10/2009
    العمر : 37

    البرمجة بالكائنات الشيئية Empty البرمجة بالكائنات الشيئية

    مُساهمة  Coder الأحد ديسمبر 26, 2010 8:50 pm

    لغة الـ Java
    البرمجة بالكائنات الشيئية

    السلام عليكم و رحمة الله و بركاته..
    ----------
    تمهيد
    ----------
    في البداية، أحب أطرح سؤال؟

    عندما أقول: (أكل) ما الذي يتوارد إلى أذهانكم؟

    يمكن تخطر في بالكم الجملة المشهورة (أكل الولد التفّاحة) أو تتخيلون أي نوع من أنواع الأكل صح. من المستحيل فعلاً أن تفكروا في عملية الأكل دون أن تتخيلوا شخصاً (أو كائناً) يأكل.. أو شيئاً يتم أكله، صح والا أنا غلطانة؟

    بالفعل! العقل البشري لا يعترف بوجود الأفعال بدون فاعل لذا فجملة 1+1=2 ليس لها إلا معناها الرياضي المجرّد فقط. و لكن جملة واحد جلس بجانب آخر = شخصين جالسين مع بعض لها معنى، أليس كذلك؟

    خلينا من هذا. فلنتصوّر أنني قلت و نحن نتكلّم بشكل عادي (أقصد لم نكن في محاضرة رياضيات) قلت لكم فجأة (24) و سكتٌّ، طبيعي أنّكم جميعاً ستنظرون إلى منتظرين أن أكمل كلامي.. 24.. ماذا؟ 24 ساعة؟ 24 يوم؟ 24 طالب؟ 24 سطر؟ 24 تفاحة.. لكن الرقم 24 المجرّد لا يعني شيء أبداً أبداً خارج مواضيع الرياضيات :-)

    ---------------------------------------
    مفهوم العضو أو الشي (Object)
    ---------------------------------------

    ملاحظة: عندما أقول كلمة (شيء) أو كلمة (عضو) أرجو أن يكون مفهوماً أنني أقصد بها نفس االمفهوم Object.

    والآن حان الوقت لننظر إلى العالم من حولنا. نأخذ مثال بسيط (جهاز الكومبيوتر الخاص بك) سنفترض بعض صفاته و سنكتبها في ورقة:

    الصفات

    النوع: IBM
    السرعة: 500MHz
    الذاكرة: 128MB






    إذاً اتفقنا أن جهازك له هذه الصفات، فلنفترض معاً بعض الوظائف التي يستطيع جهازك أن يقوم بها


    الوظائف
    الجمع
    الحفظ
    الإتصال بطابعة





    ماذا نستنتج من ذلك؟

    أن جهازك له صفات و قدرات. الصفات هي ما يتصف به، و القدرات هي ما يتطيع أن يقوم به. و هذا هو حال أي شيء (عضو أو Object) له صفات، و يستطيع القيام بأعمال بما له من قدرات.


    هم.. هل يشترك كومبيوتر آخر مع جهازك في هذه الصفات؟ نعم جهازي يشترك مع جهازك.
    له نفس القدرات، و ويشترك في وجود نفس الصفات مع اختلاف في الأرقام، أليس كذلك؟ فجهازينا لهما سرعة، و ذاكرة و نوع، و كلاهما يستطيعان الحفظ و الاتصال بطابعة. همم.. إذا هناك صفات يشترك فيها أي جهاز كومبيوتر مع غيره من الأجهزة، و قدرات أساسية أيضاً، موجودة عند الجميع.

    هذا يجعلنا نصنّف الأشياء إلى فئات تشترك في نفس الصفات و لها نفس القدرات :-)

    --------------------------
    مفهوم الفئة أو (Class)
    --------------------------

    الفئة هي الموديل أو التصميم الذي على أساسه أستطيع استخراج أعضاء و أشياء.


    مثلاً نأتي بورقة، و نكتب عليها الآتي:


    كومبيوتر

    tr>
    الوظائف

    الصفات

    الجمع
    الحفظ
    الطباعة

    النوع
    السرعة
    الذاكرة


    أصبح لدينا الآن موديل نستطيع أن نستخرج منه الكومبيوتر الذي تستطيع لمسه و هو جهازك و ذلك بأن نعطي للصفات التي ذكرتها في الموديل القيم المناسبة.

    مثال آخر:

    لو أخذنا فئة (الإنسان) هذا موديل أو شكل عام نعرف أن أي انسان له عينان، و أنه يفكّر، و أنه يبدع. و لكن حين أقول أحمد يبدأ الموديل في أخذ الصفات المناسبة مثل لون العينين عند أحمد أسود مثلاً و أنه يفكّر، و أنه مبدع و ابداعه في الشعر أكثر من غيره.

    ماذا نستنتج من ذلك؟

    نستنتج أن الفئة أو ال Class هي الموديل الذي أصنع بحسبه الأشياء التي تشترك في الصفات. أو أنه الجامع الذي يجمع الأشياء الفعلية التي تندرج تحته. و لابد هنا من التنويه على نقطة محددة و هي أنّ الفئة ليست شيئاً محسوساً بينما العضو أو الشيء هو التمثيل المحسوس لهذه الفئة.

    كيف يمكن تطبيق هذا الكلام باستخدام لغة الجافا..

    هذا ما سنعرفه في الدرس القادم.

      الوقت/التاريخ الآن هو السبت نوفمبر 23, 2024 12:23 am