الميراث هو أحد المفاهيم الرئيسية للبرمجة الشيئية ، والتي تسمح لك بإنشاء فئات جديدة بناء على الفئات الموجودة. ومع ذلك ، في بعض الأحيان هناك حالات عندما يكون من الضروري تعطيل الميراث الطبقة في جافا. في هذه المقالة ، سنلقي نظرة على أفضل الطرق والممارسات التي ستساعدك على تنفيذ ذلك.
الطريقة الأولى لتعطيل وراثة الفصل في جافا هي استخدام الكلمة الأساسية النهائية. عند الإعلان عن فئة باستخدام هذه الكلمة الرئيسية ، تصبح غير قابلة للتغيير ولا يمكن توريثها بواسطة فئات أخرى. بهذه الطريقة ، يمكنك منع وراثة الفصل والحفاظ على وظائفه دون إمكانية إجراء تغييرات.
مثال على استخدام الكلمة الرئيسية النهائية:
الطبقة النهائية العامة
// كود الفصل
}
الطريقة الثانية هي إعلان جميع منشئي الفصل على أنهم خاصون. لاحظ أن هذا يساعد على منع إنشاء حالات من هذه الفئة ، وبالتالي ، ميراثها. تصبح الفئة متاحة فقط للطرق والمتغيرات الثابتة التي يمكن استخدامها دون إنشاء مثيل لها.
الطريقة الثالثة هي استخدام الواجهات. إذا نفذت فئة واجهة ، تصبح أساليبها عامة ومستقلة عن تنفيذ الفئة. في الوقت نفسه ، يمكن للفئات الأخرى استخدام طرق الواجهة دون الحاجة إلى وراثة هذه الفئة. استخدام واجهات يساعد على تجنب إغلاق الميراث ويجعل رمز أكثر مرونة وحدات.
- فهم الميراث الطبقي في جافا
- مزايا وعيوب الميراث الطبقي
- مزايا الميراث الطبقي:
- مساوئ الميراث الطبقي:
- خيارات لتعطيل وراثة الفصل في جافا
- استخدام الكلمة الرئيسية النهائية
- إنشاء فئة مع منشئ خاص
- استخدام واجهات بدلا من وراثة الطبقات
- أفضل الممارسات لتعطيل وراثة الفصل في جافا
- سؤال وجواب
- كيف يمكنني تعطيل الميراث الطبقة في جاوة?
- كيف يمكنني استخدام الكلمة النهائية لتعطيل فئة الميراث?
- هل من الممكن تعطيل الميراث فقط لطريقة فئة معينة?
- ما هي الطرق الأخرى هناك لتعطيل الميراث الطبقة في جاوة?
فهم الميراث الطبقي في جافا
في جاوة ، وراثة الطبقة هي واحدة من الآليات الرئيسية للبرمجة وجوه المنحى. في جافا ، يمكن للفئات أن ترث الخصائص والأساليب من الفئات الأخرى ، مما يسمح لك باستخدام التعليمات البرمجية الموجودة وتوسيع وظائفها.
المفاهيم الأساسية المتعلقة بالميراث الطبقي في جافا:
- الطبقة الفائقة: الطبقة التي ترث من. يمكن أن يطلق عليه أيضا فئة أساسية أو فئة رئيسية.
- الفئة الفرعية: فئة ترث الخصائص والأساليب من فئة فائقة. يمكن أن يطلق عليه أيضا فئة مشتقة أو فئة فرعية.
- امتداد الفئة: عملية إنشاء فئة فرعية بناء على فئة فائقة. يتم تنفيذه باستخدام الكلمة الرئيسية الممتدة عند الإعلان عن فئة.
- إعادة تعريف الطريقة: عملية استبدال تنفيذ طريقة من فئة فائقة في فئة فرعية. يتم استخدام الكلمة الرئيسية @تجاوز لهذا الغرض.
الميراث الطبقة في جافا يسمح لك لخلق التسلسل الهرمي الطبقة حيث كل فئة جديدة تهذب ويمتد وظائف الطبقات السابقة. هذا يسهل إعادة استخدام التعليمات البرمجية ويبسط تطوير حلول البرمجيات.
من المهم ملاحظة أنه في جافا يمكنك أن ترث من فئة فائقة واحدة فقط ، أي أن وراثة الطبقات المتعددة غير مدعومة. ومع ذلك ، يمكن للفئة أن ترث من فئة فائقة ترث فئة أخرى نفسها ، وتشكل سلسلة وراثة.
عندما ترث فئة فرعية خصائص وطرق فئة فائقة ، يمكنها استخدامها دون الحاجة إلى إعادة تعريفها. في الوقت نفسه ، يمكن للفئة الفرعية توسيع وظائف الطبقة الفائقة عن طريق إضافة أساليبها وخصائصها الخاصة.
- يتم استخدام الكلمة الرئيسية الممتدة عند إنشاء فئة فرعية:
الفئة الفرعية العامة تمتد الطبقة الفائقة {
// رمز الفئة الفرعية
}
- يمكن إعادة تعريف طريقة الطبقة الفائقة في فئة فرعية:
الطبقة العامة الفائقة {
رسالة طباعة باطلة عامة () {
النظام.خارج.برينتلن ("مرحبا ، العالم!");
}
}
الفئة الفرعية العامة تمتد الطبقة الفائقة {
@تجاوز
رسالة طباعة باطلة عامة () {
النظام.خارج.برينتلن ("مرحبا من فئة فرعية!");
}
}
يسمح تجاوز الطريقة لفئة فرعية بتوفير تنفيذها الخاص للطريقة ، والتي تختلف عن التنفيذ في الطبقة الفائقة. عند استدعاء طريقة تم تجاوزها ، سيتم تنفيذ تنفيذ من الفئة الفرعية.
خاتمة:
- الميراث الطبقة في جافا يسمح لك لخلق التسلسل الهرمي الطبقة.
- توفر الطبقة الفائقة وظائف عامة يمكن تمديدها في فئة فرعية.
- تسمح طرق التجاوز لفئة فرعية بتغيير تنفيذ طريقة الطبقة الفائقة.
يعد فهم وراثة الفصل في جافا أمرا مهما للاستخدام الفعال لهذه الآلية في تطوير البرمجيات.
مزايا وعيوب الميراث الطبقي
الميراث الطبقي هو أحد المفاهيم الأساسية للبرمجة الشيئية. يسمح لك بإنشاء فئات جديدة عن طريق وراثة خصائص وطرق الفئات الموجودة. يوفر الميراث العديد من المزايا ، ولكن له أيضا عيوبه.
مزايا الميراث الطبقي:
- إعادة استخدام الكود: الميراث يسمح لك لإعادة استخدام التعليمات البرمجية المحددة في الفئة الأساسية في فئة خليفة جديدة. هذا يسمح لك لتجنب الازدواجية في التعليمات البرمجية وتقليل حجمه.
- القابلية للتوسعة: يمكن لفئة جديدة إضافة خصائصها وأساليبها التي تكمل سلوك الفئة الأساسية. يتيح لك ذلك إنشاء فئات أكثر تخصصا بناء على فئة أساسية مشتركة.
- تعدد الأشكال: بفضل الميراث ، من الممكن العمل مع كائنات الورثة باستخدام إشارات إلى الطبقة الأساسية. يتيح لك ذلك تنفيذ طرق متعددة الأشكال يمكنها قبول أنواع مختلفة من الكائنات بناء على فئة أساسية مشتركة.
- تبسيط التعليمات البرمجية: الميراث يساعد على تبسيط التعليمات البرمجية ، حيث يتم تنفيذ جميع الوظائف العامة والمنطق بالفعل في الفئة الأساسية ، ولا تحتاج إلى تكرارها في كل فئة جديدة.
مساوئ الميراث الطبقي:
- إنشاء تسلسل هرمي معقد للفئة: إذا أصبح التسلسل الهرمي للفئة عميقا ومعقدا للغاية ، فقد يؤدي ذلك إلى صعوبات في فهم التعليمات البرمجية والحفاظ عليها.
- صلابة التسلسل الهرمي: عندما ترث فئة من فئة أخرى ، فهي مرتبطة ببنية الفئة الأساسية. هذا يمكن أن يجعل من الصعب إجراء تغييرات على التسلسل الهرمي للفئة وإضافة وظائف جديدة.
- مشاكل مع الميراث متعددة: في جاوة ، يحظر الميراث متعددة من الطبقات. قد تنشأ هذه القيود إذا كنت بحاجة إلى وراثة من عدة فئات في نفس الوقت.
- انتهاك التغليف: يمكن أن يكسر الميراث التغليف لأن الوريث لديه حق الوصول إلى الأعضاء المحميين من الطبقة الأساسية. هذا يمكن أن يؤدي إلى أخطاء وتغييرات غير مرغوب فيها في حالة الكائن.
على الرغم من بعض العيوب ، يلعب الميراث الطبقي دورا مهما في تطوير البرمجيات وهو أداة قوية في البرمجة الشيئية. من المهم أن نفهم معالمه واستخدامه ، ومراقبة مبادئ التصميم الجيد.
خيارات لتعطيل وراثة الفصل في جافا
في جافا ، يمكن أن يكون تعطيل وراثة الفصل ، أي حظر إنشاء فئات فرعية ، مفيدا في بعض المواقف. فيما يلي بعض الطرق التي يمكنك استخدامها لهذا الغرض:
- // كود الفصل
رمي جديد غير مدعوم أوبيراتيونكسيبتيون ("الميراث الطبقي محظور");
- }
// بقية كود الفصل
}
اختر الطريقة المناسبة بناء على متطلبات وميزات مشروعك. ضع في اعتبارك أن تعطيل وراثة الفئة يمكن أن يحد من قابلية توسيع الكود ، لذلك يجب عليك استخدامه بحذر.
استخدام الكلمة الرئيسية النهائية
طريقة واحدة لتعطيل الميراث الطبقة في جافا هو استخدام الكلمة النهائية. من خلال وضع علامة على فئة مع المعدل النهائي ، فإنك تشير إلى أن هذه الفئة لا يمكن أن تكون موروثة من قبل فئات أخرى.
يوفر تطبيق الكلمة الأساسية النهائية على الفصل المزايا والممارسات التالية:
- ضمان فئة عدم السيطرة. إذا كنت تنوي استخدام الفصل كما هو فقط ، دون إمكانية التعديل أو التمديد ، فإن وضع علامة عليه على أنه نهائي يعد ممارسة جيدة. بهذه الطريقة تتجنب الأخطاء المحتملة أو إساءة استخدام الفصل من قبل مطورين آخرين.
- زيادة الإنتاجية. يمكن للمترجم إجراء تحسينات مع العلم أنه لا يمكن توريث الفئة. قد تتضمن هذه التحسينات قيما مسبقة الحوسبة أو استخدام الثوابت مباشرة بدلا من طرق الاتصال.
منع تغييرات السلوك الطبقي. إذا كان الفصل جزءا من مشروع أو مكتبة كبيرة ، فإن وضع علامة عليه على أنه نهائي يضمن عدم تغيير سلوكه نتيجة لإنشاء فئات فرعية. هذا مفيد بشكل خاص في المواقف التي قد يؤدي فيها تغيير سلوك الفصل إلى تعطل البرنامج.
وهكذا ، وذلك باستخدام الكلمة النهائية هي واحدة من الطرق للسيطرة وضمان أمن الطبقات في لغة جافا ، مما يسمح لك للسيطرة على الميراث والتعديل.
إنشاء فئة مع منشئ خاص
في لغة جافا ، من الممكن إنشاء فئة مع منشئ خاص. يستخدم هذا النهج عندما يكون من الضروري حظر إنشاء حالات لفئة معينة خارج نفسها أو في أحفادها.
منشئ خاص يمنع إنشاء كائنات فئة خارج نفسه وأحفاده
يحتوي المنشئ الخاص في جافا على بناء الجملة التالي:
اسم الفئة الخاصة () {
// كود المنشئ
}
مزايا إنشاء فئة مع منشئ خاص:
حظر إنشاء حالات خارج الفصل. يتيح لك إنشاء منشئ خاص في فصل دراسي حظر استخدامه خارج الفصل. لن يتمكن المستخدمون من إنشاء مثيلات من هذه الفئة وأحفادها.
السيطرة على إنشاء الكائنات. يسمح المنشئ الخاص للفئة بالتحكم الكامل في عملية إنشاء الكائنات. يمكن أن يكون هذا مفيدا إذا كنت بحاجة إلى تنفيذ إجراءات إضافية عند إنشاء كل مثيل من الفصل.
مثال على إنشاء فئة مع منشئ خاص:
الطبقة العامة المفرد {
مثيل المفرد النهائي الثابت الخاص = المفرد الجديد();
المفرد الخاص () {
// كود المنشئ
}
- العامة ثابت سينغلتون جيتينستانس () {
- عودة المثال;
- }
- }
المفرد المفرد = المفرد.جيتينستانس();
إنشاء مثيل من فئة سينغلتون هو ممكن فقط باستخدام طريقة جيتينستانس ثابت (). ستؤدي محاولة إنشاء مثيل للفئة باستخدام مفرد جديد () إلى حدوث خطأ في التجميع.
إنشاء فئة مع منشئ خاص هو وسيلة فعالة للسيطرة على إنشاء الكائنات ومنع الميراث الطبقة في لغة جافا.
استخدام واجهات بدلا من وراثة الطبقات
المرونة: يمكن للفئة تنفيذ واجهات متعددة ، بدلا من القدرة على وراثة فئة واحدة فقط.
فصل المسؤوليات: تسمح لك الواجهات بتقسيم الوظيفة إلى أجزاء منفصلة ، مما يجعل الشفرة أكثر معيارية وسهلة الصيانة.
دعم الميراث المتعدد: يمكن للفئة تنفيذ واجهات متعددة ، مما يسمح لك باستخدام الأساليب والخصائص من مصادر مختلفة.
اختبار أسهل: عند استخدام الواجهات ، يكون من الأسهل إنشاء اختبارات ، حيث يمكننا إنشاء كائنات وهمية لهذه الواجهات.
لإنشاء واجهة في جافا ، يتم استخدام الكلمة الرئيسية للواجهة
. على سبيل المثال:
واجهة عامة
طريقة الفراغ ();
}
- من أجل الطبقة لتنفيذ واجهة ، يتم استخدام الكلمة الرئيسية
- }
الأدوات
| . على سبيل المثال: |
|---|
|
}
| يمكن أيضا استخدام الواجهات لإنشاء مجموعات وتحديد الأنواع وإدارة الأحداث. من خلال استخدام الواجهات ، يمكننا إنشاء تطبيق أكثر مرونة ووحدات. |
|---|
|
}
| منشئ خاص |
|---|
|
خاصة ميكلاس () {
// منشئ خاص
}