الفرق بين الأدوات ويمتد

Anonim

أدوات مقابل توسيع

الأدوات والتوسعات هي كلمتين رئيسيتين في لغة برمجة جافا توفر وسيلة لنقل الوظائف المضافة إلى فئة جديدة. يتم استخدام كلمة رئيسية تستخدم بشكل صريح لتنفيذ واجهة، في حين يتم توسيع الكلمة الرئيسية للارث من فئة (سوبر). يرجى ملاحظة أن مفاهيم الميراث والواجهات موجودة في معظم لغات البرمجة الموجهة كائن أخرى مثل C # و ف. نيت، ولكنها توفر بنية أو كلمات رئيسية مختلفة لتطبيق تلك المفاهيم. تركز هذه المقالة فقط على تنفيذ وتوسيع الكلمات الرئيسية المعرفة في جافا.

يمتد

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

الأدوات

يتم استخدام الكلمات الرئيسية بلغة جافا بلغة البرمجة من أجل تنفيذ واجهة بواسطة فئة. واجهة في جافا هو نوع مجرد يستخدم لتحديد العقد الذي يجب أن يتم تنفيذه بواسطة الفئات التي تقوم بتنفيذ هذه الواجهة. عادة واجهة سوف تحتوي فقط على التوقيعات طريقة وإعلانات ثابتة. أي واجهة تقوم بتنفيذ واجهة معينة يجب أن تنفذ جميع الطرق المحددة في الواجهة، أو يجب أن تعلن كفئة مجردة. في جافا، يمكن تعريف نوع مرجع الكائن كنوع واجهة. ولكن يجب أن يكون هذا الكائن إما نول أو يجب أن يحمل كائن من فئة، الذي ينفذ تلك الواجهة معينة. باستخدام الأدوات الأساسية في جافا، يمكنك تنفيذ واجهات متعددة لفئة واحدة. لا يمكن للواجهة تنفيذ واجهة أخرى. ومع ذلك واجهة يمكن تمديد فئة.

الفرق بين المنتوجات ويمتد

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