التفكير في تعدد الأشكال في Java3
غالبًا ما يتم الخلط بين الأشخاص من خلال الميزات الأخرى غير الموجهة نحو الكائنات من Java ، مثل التحميل الزائد للأسلوب ، والتي يتم تقديمها أحيانًا على أنها موجهة نحو الكائن. لا تنخدع: إذا لم يكن ذلك متأخرًا ، فهذا ليس تعدد الأشكال
ترجمة بواسطة النص
يتم الخلط بين الأشخاص دائمًا من خلال ميزة أخرى غير موجهة نحو الكائنات من Java ، مثل التحميل الزائد للأسلوب. في بعض الأحيان يكون موجه نحو الكائن. من فضلك لا تكن غبيا. إذا لم يكن هناك ارتباط متأخر (أي الربط الديناميكي أثناء وقت التشغيل) ، فهو ليس متعدد الأشكال.
لذلك ، فإن ما يريد هذا المقطع التعبير عنه هو أن الأشكال المتعددة يجب أن يكون لها ارتباط ديناميكي ، وإلا فإنه ليس تعدد الأشكال ، ولا يكون التحميل الزائد للأسلوب هو تعدد الأشكال (لأن التحميل الزائد للسلطة يتم تحديده خلال فترة الترجمة ، ولا يوجد ربط ديناميكي في الفترة اللاحقة ، أي فترة وقت التشغيل)
عندما يتم تلبية هذه الشروط الثلاثة 1. هناك ميراث 2.
<span style = "font-size: 14px ؛"> مثال: عنوان الفئة العامة {اسم السلسلة الخاصة ؛ العنوان العام (اسم السلسلة) {this.name = name ؛} السلسلة العامة getName () {return name ؛ يمتد مركبة {overridepublic void go (عنوان العنوان) {system.out.println ("Car to" + address.getName ()) ؛}} تنفذ الطائرة الفئة الأساسية: طائرة الفئة العامة تمتد السيارة {@overdoid go (address) v) {/// polymorphism ، يشير مرجع الفئة الأصل إلى كائن الفئة الفرعية ، والإرسال الفعلي هو فئة فرعية لسيارة الفئة المجردة ، أو فئة التنفيذ ، وسيجد المترجم طريقة التنفيذ بناءً على فئة التنفيذ المحددة. V.GO (عنوان جديد ("Hangzhou (Abstract)")) ؛ /// يتم إعادة كتابة هذه الطريقة في التنفيذ المحدد} الاختبار: الفراغ الثابت العام (سلسلة [] args) {driver d = new Driver () ؛ D.Drive (New Plane ()) ؛ // إنه في الواقع كائن طائرة ، ثم سيجد المترجم تنفيذ GO في الطائرة ، D.Drive (سيارة جديدة ()) ؛ // إنه في الواقع كائن سيارة ، ثم سيجد المترجم تنفيذ GO في الطائرة} نتيجة الإخراج: الطائرة إلى Hangzhou (Abstract) Car to Hangzhou (Abstract) </span>تعدد الأشكال: يشير إلى الحالات المختلفة لنفس الشيء ، مثل: الماء. يمكن أن يكون للمياه ثلاث ولايات:
الغاز والسوائل والمواد الصلبة. ثم يمكن أيضًا فهم تعدد الأشكال في Java على أنه هذا المعنى:
تقنية تعيين الكائن الأصل لتكون مساوية لواحد أو أكثر من كائناته الفرعية ،
على سبيل المثال الوالدين = الطفل ؛
يعدد الأشكال المتعددة مرجع كائنات فئات مختلفة باستخدام نفس الفئة (فئة الوالدين)
وأداء نفس العملية بطرق مختلفة اعتمادًا على الكائن المشار إليه.
يتضمن التنفيذ متعدد الأشكال طريقتين: التحميل الزائد والكتابة فوق
على سبيل المثال: Animal A = New Tiger () ؛ هذا موضوع قديم ، هاها ...
يشير مرجع الفئة الأم إلى كائن فئة الطفل. تحتوي فئة الحيوان على طريقة EAT () ، وترث فئة النمر من
فئة Animal ، إذا كانت الفئة الفرعية تعيد كتابة طريقة EAT () لفئة الأصل ، ثم عند الاتصال ، يمكنك متابعة فئة الطفل.
الدعوة الرسمية لـ ، هي في الأساس طريقة الفئة الأصل ، ولكن بعد إعادة كتابة الفئة الفرعية ، تصبح طريقة أخرى ، وهي تعدد الأشكال.
ما سبق هو مناقشة موجزة حول جوانب تنفيذ تعدد الأشكال Java تعكس بشكل رئيسي. آمل أن يكون ذلك مفيدًا للجميع ودعم wulin.com أكثر ~