شاخه و زیر شاخه ها

تصاویر تصادفی

  • انجام کاری که در آن تخصص نداریم
  • بیشعوری مدرن

مطالب تصادفی

تنها راه درمان حسادت ديدن سقف آسمان است

از اين آدمهاى چشم تنگ نباش كه تحمل رشد بقيه را ندارند، حواسشان اكثرا به زندگى بقيه است و نميدانند بدخيمى حسادت وجودشان را پر كرده… تنها راه درمان حسادت ديدن سقف آسمان است كه جا ...

شنبه 01 مرداد 1401

جدید ترین مطالب

ایران دو ، ولز صفر

تاپای جان، برای ایران. جام جهانی فوتبال ۲۰۲۲ قطر

جمعه 04 آذر 1401

سه‏ شنبه 01 آذر 1401

محبوب ترین مطالب

بهترین خودت باش!

تو مسئول خوب زندگی کردن خودت هستی و این خوب زندگی کردن رو به خودت بدهکاری! تو باید تصمیماتی بگیری که بهت قدرت بده و کمک کنه تا خودت و زندگیت رو بهبود ببخشی … انسان موفق کسی است ک ...

يکشنبه 10 بهمن 1400

نقطه ضعف آدم های دلپاک

آدم های دلپاک بزرگترین نقطه ضعفی که دارن، اینه که فکر میکنن اطرافیانشونم همه مثل خودشونن.

سه‏ شنبه 18 آبان 1400

service
Implicit Casting و Explicit Casting

برای توسعه پروژه ‌ها معمولا نیاز میشود انواع داده ها را به یکدیگر تبدیل کنیم و یک نوع از داده یا Object را به نوع دیگری از داده یا Object تبدیل کنیم. این مقاله دو روش Implicit و Explicit را برای تبدیل Object ها به یکدیگر بررسی میکند.

فرض کنید دو کلاس با نام های Book و NoteBook به صورت زیر داریم.

#1 کلاس Book
 

 

#2 کلاس NoteBook
 

 

دو کلاس فوق هیچ شباهتی با یکدیگر ندارند و نمیتوانیم این دو نوع را به یکدیگر تبدیل کنیم و اگر بخواهیم به صورت زیر آنها را به یکدیگر تبدیل کنیم، باعث ایجاد خطای کامپایلری می شویم.

 

 

برای حل این مشکل و فراهم شدن امکان تبدیل این دو نوع از Object‌ می‌تونیم از دو روش Implicit Casting و Explicit Casting استفاده کنیم.

# Explicit Casting

 

 

در روش Explicit یک Operator به صورت Explicit تعریف می‌کنیم .ورودی آن را از نوع خود کلاس book و سپس خروجی آن را از نوع خروجی مورد نیاز تعریف میکنیم. Converter مورد نظر را در بدنه این Operator می‌نویسیم. در صورت رعایت این موارد میتوانیم دستور نوشته شده را کامپایل کنیم.

 

 

در روش Explicit حتما باید به طور صریح عملیات Cast را انجام دهید . در غیر این صورت با پیام خطا روبرو خواهید شد.

 

 

در صورتی که بخواهیم این موارد را نادیده بگیریم می توانیم از روش Implicit برای انجام این کار استفاده کنیم.

# Implicit Casting
تفاوت رورش Implicit و Explicit، صرفا در نوع تعریف operator است.

 

 

بعد از تعریف operator به روش Implicit استفاده از Converter  به صورت زیر خواهد بود. 
در این روش برای Converter  کردن، نیاز به ذکر نوع Object نداریم و Object مد نظر نوع داده خروجی کلاس تبدیل خواهد شد.

 

سید احمد ایمانی
ارسال توسط : سید احمد ایمانی

سرپرست تیم، مدیر پروژه و برنامه نویس ارشد. بیش از 20 سال تجربه فعالیت در زمینه های مختلف برنامه نویسی و تولید نرم افزار. سرپرستی واحد های پشتیبانی، IT، مالتی مدیا، نرم افزار. مدیریت پروژه های چند رسانه ای، تعاملی، آزمون، وب سرویس، وب سایت و برنامه های ویندوزی. برنامه نویسی سمت سرور، کلاینت، پایگاه داده، سرویس و چند رده