الفكرة الرئيسية للفصل المجرد موجودة في الأطروحة التالية: في بعض الأحيان لا تكون الفصول الجاهزة مطلوبة ، ولكن في شكل "خام". لا يمكن استخدام هذه الإعدادات المسبقة مباشرة (إنشاء مثيل لها).
![فئة مجردة جافا](/images/kompyuteri/elementi-obektnoj-modeli-java-abstraktnij-klass-interfejs.jpg)
ما هي فئة مجردة في جافا
لنلق نظرة على مثال آخر. يوجد تقويم فئة مجردة في Java في حزمة Java.util. لا ينفذ تقويمًا محددًا يتم استخدامه ، على سبيل المثال ، في أوروبا الغربية والشرقية والصين وكوريا الشمالية وتايلاند وما إلى ذلك ، ولكنه يحتوي على العديد من الوظائف المفيدة ، على سبيل المثال ، إضافة عدة أيام إلى تاريخ محدد: هذه الوظائف مطلوبة لأي تنفيذ التقويم. لا يمكنك إنتاج مثيل من فئة مجردة.
فئات مجردة ، طرق جافا المجردة
لنفترض أنك بحاجة إلى تطوير عدة رسوماتعناصر مثل الأشكال الهندسية: دائرة ، مستطيل ، نجمة ، إلخ. وهناك وعاء يرسمها. كل مكون له مظهر مختلف ، لذلك يتم تنفيذ الطريقة المقابلة (دعنا نسميها الطلاء) بشكل مختلف. ومع ذلك ، يحتوي كل مكون على العديد من الأشياء المشتركة: يجب أن تكون الأشكال منقوشة في مستطيل ، ويمكن أن يكون لها لون ، وأن تكون مرئية وغير مرئية ، وما إلى ذلك ، أي أنك تحتاج إلى إنشاء فئة أصل لجميع هذه الأشكال ، حيث يرث كل مكون خصائص مشتركة.
![فصول مجردة أساليب جافا مجردة](/images/kompyuteri/elementi-obektnoj-modeli-java-abstraktnij-klass-interfejs_2.jpg)
إذا كان للفصل طرق مجردة ، إذنالفصل مجردة. يتم وضع ملخص الكلمات الرئيسية قبل كلمة الفصل ، وفي رأس الطريقة أيضًا. يجب وضع فاصلة منقوطة بعد عنوان هذه الطريقة. في Java ، لا يمكن لفئة مجردة إنشاء نسخ. إذا أردنا منع إنشائها ، حتى إذا لم يكن للفصل أساليب مجردة ، فيمكن إعلان الفصل مجردة. ولكن إذا كان للفصل طريقة مجردة واحدة على الأقل ، فيجب أن يكون الفصل مجردة. من المستحيل أن يكون الفصل مجرّدًا ونهائيًا والطريقة أيضًا. لا يمكن للطريقة أن تكون مجردة ، خاصة ، ثابتة ، أصلية. لكي يتم التصريح عن الفئات الموروثة بأنها غير مجردة وتم إنشاء مثيل لها ، يجب عليهم تنفيذ جميع الطرق المجردة للوالد. يمكن للفصل نفسه استخدام طرقه المجردة.
على سبيل المثال:
- فئة مجردة AClass {
- طريقة الفراغ العامة المجردة (int a) ؛
- }
- الفئة BClass تمتد إلى AClass {
- طريقة الفراغ العام (int a) {
- // الجسم
- }
يُسمح بمتغيرات فئة فئة مجردة. يمكن أن تشير إلى سليل غير مجردة من هذه الفئة أو أن تكون لاغية.
واجهات Java - بديل للوراثة المتعددة
![واجهات جافا وفئات مجردة](/images/kompyuteri/elementi-obektnoj-modeli-java-abstraktnij-klass-interfejs_3.jpg)
لا يوجد توارث متعدد في Java لأنه عندئذ تظهر مشكلات معينة. لا يمكن للفئة أن ترث من فئات متعددة. لكن يمكنها تنفيذ واجهات متعددة.
واجهات Java وفئات مجردة - مفاهيممتشابه لكن ليس نفسه. يمكن إعلان الواجهة كواجهة عامة ، ثم تكون متاحة للجميع ، أو يمكنك حذف المُعدِّل العام ، ثم تكون الواجهة متاحة فقط داخل الحزمة الخاصة بها. الكلمة الأساسية المجردة غير مطلوبة لأن الواجهة مجردة بالفعل ، ولكن يمكنك تحديدها.
إعلان الواجهة
![اختلاف فئة مجردة من واجهة جافا](/images/kompyuteri/elementi-obektnoj-modeli-java-abstraktnij-klass-interfejs_4.jpg)
يبدأ بعنوان وقد يبدأ أولاًالكلمة الأساسية العامة متبوعة بكلمة الواجهة. ثم تمتد الكلمة ويمكن أن يأتي تعداد للواجهات التي ورثت منها الكلمة المعطاة. لا يُسمح بالتكرار هنا ، ومن المستحيل أيضًا أن تشكل علاقة الوراثة علاقة دائرية. ثم يأتي جسم الواجهة ، محاطًا بأقواس معقوفة. يتم الإعلان عن العناصر في نص الواجهة: الحقول الثابتة والأساليب المجردة. جميع الحقول عامة نهائية ثابتة - كل هذه المعدلات اختيارية. تعتبر جميع الطرق مجردة عامة - يمكن أيضًا تحديد هذه المعدلات. لقد قيل الآن ما يكفي عن الفرق بين فئة مجردة وواجهة جافا.
- يمتد الذكاء الاصطناعي للواجهة العامة B و C و D {
- // الجسم
- }
للإعلان عن فئة كوراثة للواجهة ، استخدم الكلمة الأساسية للتطبيقات:
- تطبق فئة AClass BI و CI و DI {}
بمعنى ، إذا تم تحديد اسم الواجهة بعد التنفيذ في إعلان فئة ، فإن الفئة تقوم بتنفيذها. ورثة هذه الطبقة يرثون عناصرها فينفذونها هم أيضا.
متغيرات الواجهة مسموح بها أيضًا. يمكن أن تشير إلى نوع الفئة التي تنفذ هذه الواجهة ، أو فارغة. تحتوي هذه المتغيرات على جميع عناصر فئة الكائن ، لأن الكائنات مشتقة من الفئات ، وهذه بدورها موروثة من فئة الكائن.
في هذه المقالة ، نظرنا في بعض عناصر نموذج كائن Java - فئات مجردة ، طرق مجردة ، واجهات.