مفهوم Superclass Subclass Typecasting ؟

السلام عليكم

اريد شرح لمفهوم Typecasting في java للمبتدئين بحثت في النت عن شروحات عربية لكن اغلبها شرح غير وافي , ممكن احد يشرحلي هي لدي اختبار الأسبوع القادم

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

Type Casting

يعني اسناد قيمة مُتغير ما إلى مُتغير من نوع أخر يُعرف هذا بالـ Type Casting

وينقسم الـ Type Casting إلى نوعان هما:

  • 1- الـ Automatic type converion (التحويل التلقائي):

    byte >> short >> int >> long >> float >> double
    

يجب أن تكون المتغيرات ذات أنواع متوافقة

يجب أن يكون المُتغير المسند إليه القيمة أكبر ويستوعب قيمة المُتغير المُسند والتالي مثال للتوضيح:

public class TypeCasting
{
    public static void main(String[] args)
    {
        int var1 = 100; 
        long var2 = var1;
        float var3 = var2;
        System.out.println(var1);
        System.out.println(var2);
        System.out.println(var3);
    }

}
// Out Puts
// 100
// 100
// 100.0
  • 2- الـ Explicit type conversion (التحويل الإجباري):

    double >> float >> long >> int >> short >> byte
    

في حالة كون قيمة المُتغير المُسند أكبر من قيمة المُتغير المُسند إليه نحن بحاجة لإجبار لعملية تحويل نوع المُتغير والتالي مثال للتوضيح:

    public class TypeCasting
{
    public static void main(String[] args)
    {
        double var1 = 100.04;  
        long var2 = (long)var1; 
        int var3 = (int)var2;
        System.out.println(var1);
        System.out.println(var2);
        System.out.println(var3);

    }

}
// Out Puts
// 100.04
// 100
// 100
naifaldagal أضف ردا

افدتني جداً جزاك الله خير وفي ميزان حسناتك لاكن كيف يكون الـcasting هكذا class obj = (class) class; لم افهم هذا

هذه ليست فئات(classes) وإنما أنواع مُتغيرات

    TypeX var1 = VaueOfTypeX;
    TypeY var2 = (TypeY) var1;

كمثال لدي مُتغير اسمه var1 من النوع long واريد حفظ قيمة هذا المُتغير في مُتغير آخر باسم var2 من النوع int في هذه الحالة سنقوم بعملية التحويل بين قوسين على حسب نوع المُتغير المُسند إليه القيمة كالتالي:

    long var1 = 100; 
    int var2 = (int)var1;