تعدد الأشكال ، التحويلات التلقائية ، والتحويلات الضمنية

StackOverflow https://stackoverflow.com/questions/2883712

سؤال

هل تعتبر التلقائي التلقائي في جافا شكلًا من أشكال الأشكال؟ بعبارة أخرى ، هل تعتقد أن تلقائيًا يمتد القدرات المتعددة الأشكال في جافا؟

ماذا عن التحويلات الضمنية في سكالا؟

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

زميلي يختلف معي. من على حق؟

هل كانت مفيدة؟

المحلول

من ويكيبيديا:

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

التحويلات الضمنية في Scala هي التحويلات. يتم تحويل كائن واحد إلى كائن آخر.

Autoboxing هو إنشاء كائن (مرة أخرى ، تحويل).

لذلك ، هذه ليست تعدد الأشكال.

نصائح أخرى

أنا شخصياً أعتبر autoboxing نوعًا من الاختراق مع نتائج غير متوقعة في بعض الأحيان.

 Boolean b = null;
 boolean b2 = b; // oops

الجزء الصعب من Autoboxing هو أنه ليس حقًا طاقمًا ، والذي يغير (فقط) النوع ، ولكن أكثر من تحويل القيمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top