Javaالتجريد في جافا
- مفهوم التجريد
- مفهوم الـ Abstract Class في جافا
- مفهوم الـ Abstract Method في جافا
- أمثلة شاملة حول التجريد في جافا
مفهوم التجريد
التجريد ( Abstraction ) هو أسلوب مهم جداً يستخدم لتسهيل كتابة الأوامر على المبرمجين, فهو يجعلك قادراً على تنفيذ ما تريد دون الحاجة إلى معرفة كافة التفاصيل التي تم فيها تنفيذ ذلك. إذاً الـ Abstraction يجعلك تتعامل مع الأشياء بسطحية بدل أن تغوص في معرفة تفاصيل الكودات المعقدة.
فمثلاً إذا كنت تنوي بناء برنامج يتيح لمستخدميه إرسال إقتراحات حول التطبيق من خلال البريد الإلكتروني, في هذه الحالة لن يكون عليك القلق بتاتاً حول طريقة تعامل أوامر جافا مع البروتوكولات التي تعمل عندما يتم إرسال رسائل إلكترونية من خلال هذا التطبيق, لأنك لست مسؤولاً عنها, فعلياً هذه وظيفة شركة Sun التي تقوم بتطوير لغة جافا. و هم يخبرونك أنه لإرسال بريد إلكتروني إستخدم هذه الأوامر البسيطة فقط.
إذاً الـ Abstraction هو أسلوب يستخدم لإخفاء تفاصيل تنفيذ البرنامج. لتطبيق مفهوم الـ Abstraction نستخدم الكلمة abstract ضمن شروط محددة.
مصطلحات تقنية
إذا أردت تعريف الشيء كـ abstract, أكتب فقط الكلمة abstract قبله.
- الكلاس المعرف كـ abstract يسمى Abstract Class.
- الكلاس العادي الغير معرف كـ abstract يسمى Concrete Class.
- الدالة المعرفة كـ abstract تسمى Abstract Method أو Abstract Function.
مفهوم الـ Abstract Class في جافا
إذا وضعت الكلمة abstract قبل إسم الكلاس, ستتغير قليلاً طريقة التعامل معه لأنه لم يعد كلاس عادي.
عندها سيراه و يعامله المترجم كـ Abstract Class.
نقاط مهمة حول الـ Abstract Class
- الكلاس العادي لا يمكنه أن يحتوي على دوال نوعها abstract.
- الـ Abstract Class يمكنه أن يحتوي على دوال عادية, و يمكنه أن يحتوي على دوال نوعها abstract.
- إذا قمت بتعريف الكلاس كـ abstract, فهذا يعني أن هذا الكلاس لا يمكن إنشاء كائنات منه.
- بما أنه لا يمكن إنشاء كائنات من Abstract Class, فهذا يعني أنه للإستفادة من هذا الكلاس, يجب وراثته.
- الكلاس الذي يرث من كلاس نوعه abstract, يجب أن يفعل Override لجميع الدوال المعرفة كـ abstract.
طريقة تعريف كلاس نوعه abstract
نكتب فقط الكلمة abstract قبل الكلمة class.
مثال
مفهوم الـ Abstract Method في جافا
إذا كنت تريد بناء دالة و جعل الكلاس الذي يرثها هو المسؤول عن كتابتة محتواها, قم بتعريفها كـ abstract.
نقاط مهمة حول الـ Abstract Method
- إذا وضعت الكلمة abstract قبل إسم الدالة, فهذا يعني أنها دالة من النوع abstract.
- الدالة التي نوعها abstract هي دالة لها إسم و نوع محدد, لكنها لا تحتوي على body (جسم), أي لا تملك أقواس بداية و نهاية { }.
- الدالة العادية تحتوي على أقواس البداية و النهاية { }.
- الـ Abstract Method يجب وضع فاصلة منقوطة ; في آخرها بدل أقواس البداية و النهاية.
- الكلاس الذي يرث من كلاس نوعه abstract, يجب أن يفعل Override لكل دوالة نوعها abstract, أي يجب أن يكتب الـ body لهذه الدوال.
طريقة تعريف دوال نوعها abstract في جافا
نكتب فقط الكلمة abstract بعد Modifier الدالة.
أمثلة
إنتبه: عندما تفعل Override لدالة نوعها abstract, يجب أن لا تعرفها كـ abstract من جديد.
مثال
لنفترض أننا قمنا بتعريف دالة إسمها displayMessage() كـ abstract.
لا يجب أن نكتب abstract عندما تفعل لها Override.
لتصحيح هذا الخطأ, نمسح فقط الكلمة abstract.
أمثلة شاملة حول التجريد في جافا
وضعنا هنا ثلاثة أمثلة بسيطة و مترابطة تعلمك الأساسيات.
وضعنا هنا مثال بسيط حول Abstract Class يرث من Abstract Class.
وضعنا هنا مثال مهم يعلمك متى تحتاج إلى إنشاء Abstract Class.
سترى فائدة الـ Abstraction أيضاً في دروس متقدمة عندما تستخدم كلاسات جاهزة تتيح لك التعامل مع الشبكات (Networks), الواجهات (GUI) و قواعد البيانات (DataBases) بكل سهولة. كما أنك ستراها عندما تعمل على بناء مشاريع كبيرة, تجبرك على إستخدام هذا الأسلوب لتسهيل العمل في المشروع.