سلام. یک سوال داشتم در مورد تبدیل و کست کردن کلاس های پدر و فرزند به هم که خیلی ذهنم رو درگیر خوش کرده.
به فرض من کدی مثل کد زیر دارم:
class Parent { } class Child : Parent { }
خب چیزی که میدونیم اینه که ما اگر یک متغیر از جنس کلاس پدر داشته باشیم، می تونیم شیء از جنس کلاس فرزند رو (به طور ضمنی Implicit) بهش اختصاص بدیم، و اگر متغیری از جنس کلاس فرزند داشته باشیم و بخوایم شیء از جنس کلاس پدر رو بهش اختصاص بدیم، به صورت ضمنی و Implicit قادر به این کار نیستیم و باید به صورت Explicit این تبدیل رو انجام بدیم.
چیزی که ذهن من رو درگیر کرده اینه که فکر می کنم دقیقا باید برعکس باشه، به خاطر اینکه کلاس فرزند طبیعتا ظرفی بزرگتر از کلاس پدر هست، و ما در حالت دوم (ریختن کلاس فرزند توی متغیر از جنس کلاس پدر) داریم یک مقدار بزرگتر رو داخل یک ظرف کوچکتر می ریزیم در این حالت ممکنه از دست رفتن داده پیش بیاد و اینجا باید از مون Explicit Cast بخواد. در حالیکه توی حالت اول (ریختن کلاس پدر توی متغیر از جنس کلاس فرزند)، به دلیل اینکه ظرف کلاس فرزند بزرگتره ما هیچ داده ای رو از دست نمیدیم و اینجا باید به طور Implicit کست بتونه انجام بشه.
این مورد رو من متوجه نمیشم. اگه ممکنه توضیح بدید.
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود