سوال در مورد تبدیل کلاس پدر و فرزند به یکدیگر

بپرسید

0

{{ digitTrunc(content.likes) }}

سلام. یک سوال داشتم در مورد تبدیل و کست کردن کلاس های پدر و فرزند به هم که خیلی ذهنم رو درگیر خوش کرده.

به فرض من کدی مثل کد زیر دارم:

    class Parent
    {
    }
    class Child : Parent
    {
    }

خب چیزی که میدونیم اینه که ما اگر یک متغیر از جنس کلاس پدر داشته باشیم، می تونیم شیء از جنس کلاس فرزند رو (به طور ضمنی Implicit) بهش اختصاص بدیم، و اگر متغیری از جنس کلاس فرزند داشته باشیم و بخوایم شیء از جنس کلاس پدر رو بهش اختصاص بدیم، به صورت ضمنی و Implicit قادر به این کار نیستیم و باید به صورت Explicit این تبدیل رو انجام بدیم.

چیزی که ذهن من رو درگیر کرده اینه که فکر می کنم دقیقا باید برعکس باشه، به خاطر اینکه کلاس فرزند طبیعتا ظرفی بزرگتر از کلاس پدر هست، و ما در حالت دوم (ریختن کلاس فرزند توی متغیر از جنس کلاس پدر) داریم یک مقدار بزرگتر رو داخل یک ظرف کوچکتر می ریزیم در این حالت ممکنه از دست رفتن داده پیش بیاد و اینجا باید از مون Explicit Cast بخواد. در حالیکه توی حالت اول (ریختن کلاس پدر توی متغیر از جنس کلاس فرزند)، به دلیل اینکه ظرف کلاس فرزند بزرگتره ما هیچ داده ای رو از دست نمیدیم و اینجا باید به طور Implicit کست بتونه انجام بشه.

این مورد رو من متوجه نمیشم. اگه ممکنه توضیح بدید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است