ما هو نوع Casting في Java | فهم نوع الصب كمبتدئ
نشرت: 2020-03-27البرمجة هي مجموعة من التعليمات ، بلغة خاصة ، تعطى للحاسوب لأداء مجموعة من المهام. على الرغم من أن العديد من الأشخاص يستخدمون اللغات لأغراض مهنية ، إلا أن بعض المطورين يعتبرونها وسيلة للتلاعب بالبيانات وإنشاء الوظائف والحلول والتحليل ؛ لم يعتقدوا أبدًا أنه ممكن.
يدرك طلاب العلوم جيدًا أن هناك لغات برمجة مختلفة ، وواحدة من أبرزها في Java. لا يمكن لأي طالب هندسة كمبيوتر أن يظل بعيدًا عن هذه اللغة. الأهم من ذلك ، يمكن للمهنيين دراسة لغة البرمجة بشكل مستقل.
ومن المثير للاهتمام أن Java هي لغة برمجة بها العديد من أنواع البيانات لتحدي المطورين واهتمامهم. ومع ذلك ، فإن الإلمام بأنواع البيانات مهم للعب بالبيانات وإنشاء التعليمات وفقًا للهدف النهائي. في وقت الترميز ، قد يحتاج المطور إلى تغيير أنواع البيانات لمعرفة كيفية عمل المتغير داخل الكود - يُعرف اختبار متغير البيانات هذا باسم Type Casting.
بكلمات أبسط ، يقوم مبرمجو الكمبيوتر بتغيير نوع بيانات واحد إلى نوع بيانات آخر بحيث تقوم دالة بمعالجة متغير بشكل صحيح. قد تتضمن الأمثلة النموذجية تحويل رقم الفاصلة العائمة إلى عدد صحيح ، أو عدد صحيح إلى سلسلة.
جدول المحتويات
فهم نوع الصب في جافا
الآن ، بعد أن أصبحت آليات التلبيس واضحة ، فقد حان الوقت لتحويل الانتباه إلى نوع الصب في Java.
التلبيس ، أو تحويل النوع ، هو عملية تعيين قيمة نوع بيانات بدائي إلى نوع بيانات بدائي آخر. يحتاج المبرمجون إلى التحقق مسبقًا من توافق نوع البيانات الذي يقومون بتعيينه لنوع بيانات آخر. يتم تنفيذ Typecasting تلقائيًا في حالة وجود توافق بين نوعي البيانات. هذا النوع من التحويل يسمى تحويل النوع التلقائي. من ناحية أخرى ، في حالة عدم وجود توافق بين نوعي البيانات ، يتم التحويل أو الصب بشكل واضح.

إن Typecasting في Java هو أيضًا صب فئة أو واجهة في فئة أو واجهة أخرى. تدعم Java كلاً من تعدد الأشكال والوراثة لأنها لغة برمجة موجهة للكائنات. قد تكون هناك حالات يتم فيها الإشارة إلى كائن فئة فرعية كمتغير مرجعي من فئة SuperClass. ومع ذلك ، لن يعرف مترجم Java هذا. لذلك ، استدعاء طريقة تم التصريح عنها في SubClass لا طائل من ورائها. لجعله تمرينًا مفيدًا ، تحتاج أولاً إلى تحويل كائن فئة فرعية إلى النوع الذي كان موجودًا به في الأصل. هذا مثال رائع لكيفية عمل كتابة الكتابة في Java.
قراءة: النطاق المستقبلي لمطوري Full Stack
معرفة التلبيس ليس كافيًا لأنه من المهم بنفس القدر أن تكون على دراية جيدة بقواعد Java التي يجب اتباعها. تنص إحدى هذه القواعد على أنه يمكن تحويل الواجهات أو الفئات التي تنتمي إلى تسلسل هرمي لنوع واحد أو تحويلها إلى بعضها البعض. إذا تم تحويل الكائنات التي ليس لها نفس النوع من التسلسل الهرمي أو العلاقة بين الوالدين والطفل ، فسيتم عرض خطأ وقت الترجمة على شاشتك.
لنلقِ نظرة على سيناريو آخر يمكنك مواجهته كمطور عند اختيار كائنين ينتميان إلى نفس النوع الهرمي. ولكن ، إذا كان نوع الكائن الذي تقوم بدفعه ونوع الكائن الذي تقوم بإلقائه ليس هو نفسه ، فستحصل على ClassCastException.
الأمر الأكثر إثارة للدهشة هو أن العديد من المطورين والمبرمجين لا يدركون أهمية التلبيس. يوفر Typecasting الوصول إلى الأساليب والحقول التي تم الإعلان عن الفئة أو النوع المستهدف عليها. لا توجد طريقة أخرى للوصول إلى هذه.

الآن ، دعونا نلقي نظرة على نوع التحويل أو الإرسال المختلف في Java
هناك نوعان من التحويل أو الصب ، وهما الصب من النوع البدائي والتلبيس المرجعي.
أنواع الصب في جافا
صب النوع البدائي
يسمح للمطور بإعطاء قيمة بدائية إلى أخرى. القيم السبع الأساسية لنوع البيانات هي Boolean و Byte و Char و Short و Int و Long و Float و Double. هناك نوعان فرعيان من صب النوع البدائي:
1. توسيع الصب أو التحويل الضمني:
يتضمن توسيع الصب صب نوع بيانات بقيمة أقل في نوع بيانات بقيمة أعلى (نوع بيانات التوسيع) دون أي فقد للمعلومات. إنها مخاطرة كبيرة في دقة الصب عند التفكير في تحويل أوسع بين أنواع البيانات الرقمية المختلفة. من الممكن فقدان أجزاء صغيرة من المعلومات أو القيمة.
اقرأ أيضًا: أفكار وموضوعات مشروع المكدس الكامل
2. تضييق الصب أو التحويل الصريح:
إنه عكس توسيع الصب. يتضمن صب نوع بيانات بقيمة أعلى في نوع بيانات بقيمة أقل (نوع بيانات أضيق). إذا لم يتم التعامل معها بعناية ، فقد يؤدي ذلك إلى فقدان المعلومات.
لا يتطلب التحويل الضمني من المطور توفير مدخلات ويتم إجراؤه تلقائيًا. من ناحية أخرى ، يتم إجراء تحويل صريح بواسطة المطور وحده.

نوع المرجع الصب
إذا كان هناك نوعان مختلفان من الفئات مرتبطان ببعضهما البعض عن طريق الوراثة وكان أحد هذه الفئات عبارة عن فئة فرعية من فئة أخرى ، فيمكن أن تخضع هذه الفئات لعملية الصب. من المهم التأكد من أن الصب يتماشى مع قواعد وقت التشغيل بالإضافة إلى قواعد وقت الترجمة في Java. يتم تقسيم صب النوع المرجعي أيضًا إلى نوعين:
1. المنعكسات:
يتضمن Upcasing تحويل كائن SubType إلى كائن SuperType. تحتوي Java على شرط لتعيين الكائن دون الحاجة إلى إضافة طاقم صريح. سيعرف المترجم ما يتم عمله وسيلقي قيمة SubType إلى SuperType. بهذه الطريقة ، يتم إحضار الكائن إلى المستوى الأساسي. يمكن للمطورين إضافة قالب صريح دون القلق بشأن أي مشاكل.
2 - التقوقع:
يتضمن Downcasting تحويل كائن SuperType إلى كائن Subtype. إنها أكثر عمليات الصب استخدامًا حيث يتم إبلاغ المترجم بأن قيمة الكائن الأساسي ليست خاصة به ولكنها تخص كائن SuperType.
تغليف
لتسجيل الخروج ، يعد تعلم Java typecasting ضروريًا لتصبح مطورًا أو مبرمجًا ناجحًا. القصد من ذلك هو تحديد الوظائف ومن ثم التأكد من أن المتغيرات داخل الاتصال تعمل وفقًا للوظيفة النهائية. إن معرفة وإتقان الأنواع المختلفة لمنهجيات الصب يقطع شوطًا طويلاً في مساعدة المبرمج على تقديم الوظائف الأكثر تعقيدًا. بعبارة مباشرة ، من الأساسي للشركات الكبيرة والعلامات التجارية تحسين تفاعل المستخدم النهائي.
إذا كنت مهتمًا بمعرفة المزيد حول تطوير المكدس الكامل ، فراجع دبلومة PG من upGrad و IIIT-B في تطوير البرامج المتكاملة المصممة للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ومهام ، IIIT -ب حالة الخريجين ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.