موصى به, 2021

اختيار المحرر

الفرق بين يمتد وينفذ الكلمات الرئيسية في جاوة

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

مقارنة الرسوم البيانية

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

تعريف يمتد الكلمة الرئيسية

يتم تحقيق الوراثة مفهومًا مهمًا في البرمجة الشيئية ، عندما يتم توسيع فئة فرعية لفئة أخرى. يُسمح للفئة الفرعية بتمديد صنف فائق واحد فقط. لا يمكن للفئة أبداً أن تمد أكثر من فصل دراسي واحد في Java. عندما يمتد فصل دراسي آخر ، يمكنه تجاوز الأساليب المحددة في الطبقة الفائقة. دعنا نفهم أن الكلمة الرئيسية تمتد بمساعدة مثال.

 class A {String s؛ أ (السلسلة s1) {s = s1؛ } // عرض سلسلة الفراغ العرض () {System.out.println (+ s)؛ }} تمدد الفئة B إلى {String i؛ B (String s1، String i1) {super (s1)؛ i = i1 } void dispaly () {super.dispaly ()؛ / * display () من الفئة A تم استدعاؤه. * / System.out.println (+ i)؛ }} تجاوز الفئة {public static void main (String args []) {B ob = new B (Tech، Differences)؛ ob.display ()؛ / * عرض فئة B استدعى * /}} / * out put * / اختلافات Tech 

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

تعريف تنفذ الكلمات الرئيسية

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

 سلاسل الواجهة {void display (String s)؛ } عدد صحيح للواجهة {void show (int i)؛ } الفئة Demo تطبق السلاسل ، عدد صحيح {void show (int i) {System.Out.Println ("قيمة عدد صحيح:" + i)؛ } void display (String s) {System.Out.Println ("string string:" + s)؛ }} فئة Demo_main {public static void main (string args []) {Demo d = new Demo ()؛ d.display ( "TechDifferences")؛ d.show (2)؛ }} / * output * / TechDifferences 2 

كما هو الحال في التعليمات البرمجية أعلاه ، يمكنك أن ترى أن العرض التوضيحي للفئة يقوم بتنفيذ سطرين واجهاتين صحيحين ، كما أنه قام بتنفيذ الطرق التي تم تعريفها في كل من الواجهات التي تظهر () و show ().

الاختلافات الرئيسية بين يمتد وينفذ

  1. يمكن للفئة أن ترث فئة أخرى ، أو ترث واجهة أخرى واجهات أخرى باستخدام كلمة رئيسية تمتد في حين ، يمكن للفئة تنفيذ واجهات باستخدام أدوات الكلمات الرئيسية.
  2. قد يتجاوز أو لا يتجاوز فئة فرعية توسع الطبقة الفائقة جميع الأساليب في الطبقة الفائقة. من ناحية أخرى ، يجب على الطبقة التي تقوم بتطبيق واجهة تعريف / تحديد جميع طرق هذه الواجهة.
  3. يمكن للفئة تنفيذ أي عدد من الواجهة في نفس الوقت. من ناحية أخرى ، يمكن للفئة تمديد فئة واحدة فقط.
  4. يمكن للواجهة أن توسع أي عدد من الواجهات ، لكن الواجهة لا تستطيع أبدًا تنفيذ أي واجهة أخرى لأن التطبيق يعني تحديد الطرق والواجهة دائمًا ما تحتوي على طرق مجردة بحيث لا تتمكن الواجهة أبدًا من تنفيذ واجهة أخرى.

استنتاج:

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

Top