مفهوم الـ Type Casting في لغة البرمجة جافا

اقرأ في هذا المقال


مفهوم الـ Type Casting في لغة البرمجة جافا

تدعم لغة البرمجة جافا مفهوم ال (Type Casting)، والذي يعني تحويل أنواع الكائنات أو المتغيرات إلى أنواع تشبهها، وهذا التحويل يمكن تحقيقه فقط بين الكلاس الرئيسي أو الكلاس الأب (Superclass) والكلاس المشتق (Subclass)، ويتم تحويل أنواع الكائنات والمتغيرات باستخدام أسلوبين للتحويل وهما: ال (Upcasting) وال (Down casting)، حيث أن:

  • (Upcasting): تعني تحويل نوع كائن من فئة الكلاس المشتق (Subclass) إلى نوع كائن من الـ (Superclass).
  • (Down casting): تعني تحويل نوع كائن من فئة الكلاس الرئيسي أو الكلاس الأب إلى نوع كائن من (Subclass).

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

طرق استخدام Type Casting في لغة البرمجة جافا

  • الطريقة الأولى تسمى ب (Manual Upcasting) حيث يتم من خلالها تحديد النوع الذي سيتم تحويل الكائن إليه.
  • الطريقة الثانية تسمى (Automatic Upcasting) لا يتم من خلالها تحديد النوع الذي سيتم تحويل الكائن إليه، لذلك يقوم المترجم بإجراء عملية تحديد النوع بشكل تلقائي.

تحويل أنواع البيانات البدائية في لغة البرمجة جافا:

بالنسبة لأنواع البيانات البدائية (int)، (long)، (float)، (double)، (char) من الممكن أن تفعل لهم (Cast) عند الحاجة بكل سهولة.

publicclass Main{ publicstaticvoidmain(String[] args){ double a = 10.55; وبعد ذلك تم تخزينه في المتغير الثاني (int) الى نوع (double) من النوع (a) هنا تم تحويل نوع المتغير int b = (int)a; double c = b; // لأنه يقبل الأعداد الصحيحة (c) في المتغير ( b) هنا تم تخزين المتغير System. out .println("a = " + a); System. out .println ("b = " + b); System. out. println ("c = " + c); } } 

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

  • خطأ يسمى ب (Runtime Exception) وهذا الخطأ يظهر للمبرمج قبل عملية تشغيل البرنامج.
  • خطأ يسمى ب (Class Cast Exception) و هذا الخطأ يظهر للمبرمج أثناء عملية تشغيل البرنامج.

المصدر: Upcasting Vs Downcasting in JavaUpcasting and Downcasting in JavaJava Type CastingType Casting in Java


شارك المقالة: