عالم الجافا | عالم الانترنت | عالم الألوان | عالم الكومبيوتر | مقارنات | سكربتات جاهزة

الرئيسية
راسلني

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

الرئيسية > الدروس > عالم الجافا > البرمجة بالكائنات الشيئية
السلام عليكم ورحمة الله وبركاته..

تمهيد

في البداية، أحب أطرح سؤال؟

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

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

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

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

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

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

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



الصفات

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

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



الوظائف

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


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

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

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

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

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

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

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

كومبيوتر

الوظائف الصفات
الجمع
الحفظ
الطباعة
النوع
السرعة
الذاكرة

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

مثال آخر:

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

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

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

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

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

وفوق كل ذي علم عليم

أوشال

مواضيع أخرى من نفس النوعية

سلسلة دروس الجافا

  1. مقدمة على البرمجة بشكل عام
  2. لغات الجيل الرابع
  3. البرمجة بالكائنات الشيئية
  4. البرمجة بالكائنات الشيئية - يتبع
  5. إعداد بيئة التشغيل
  6. البرنامج الأوّل بلغة الجافا
  7. شرح البرنامج الأوّل
  8. الآلة التخيلية للجافا-JVM
  9. المتغيرات
  10. التعليقات
  1. استخدام المتغيرات
  2. تعريف فئة
  3. استخراج عضو من فئة
  4. استخدام عضو من فئة
  5. صفة في فئة، عضو من فئة أخرى
  6. الـ Constructors
  7. التحكّم - الأدوات الشرطية
  8. التحكّم - جمل التكرار
  9. الوظائف
  10. try and catch

أمثلة ومقارنات

أخرى

جميع الحقوق محفوظة JavaGirl, 2006