loading...
طاووس
هادی شایق عین الدین بازدید : 172 شنبه 23 فروردین 1393 نظرات (0)



در این مقاله قصد داریم یکی از مفاهیم کلیدی موجود در C# را برای شما آموزش دهیم.چند ریختی یکی از مفاهیم اساسی شیء گرایی در C# می باشد که به شما این امکان را می دهد تا در زمان اجرای برنامه متدهای یک کلاس مشتق شده از یک کلاس مبنا را فراخوانی کنید.این قابلیت زمانی بیش از پیش کار آمد بنظر می آید که شما بخواهید گروهی از اشیاء را به یک آرایه نسبت دهید و سپس هریک از متد های آنها را فراخوانی نمایید.ضمنا نیازی نیست که تمامی آنها از یک نوع شیء باشند.البته چنانچه آنها از طریق ارثبری با یکدیگر ارتباط داشته باشند، می توانید اونها را بعنوان یک نوع وارث (inherited type) به آرایه نسبت دهید.در چنین حالتی اگر همه آنها نام متدی با نام مشابهی داشته باشند، اون متد را به ازای هر شیء می توانید صدا بزنید.در این مقاله چگونگی انجام این کار را به شما نشان خواهیم داد.



برای خواندن ادمه مطلب بر روی download کلیک کنید


هادی شایق عین الدین بازدید : 199 جمعه 15 فروردین 1393 نظرات (0)



کپسوله سازی (encapsulation) چیست و چه فایده ای دارد؟

همانطور که می دانید در برنامه نیسی شیء گرا،بهمراه هر شیء دو مفهموم نیز بیان می شود، رفتار (behavior) و وضعیت (state).وضعیت یک شیء در حقیقت به داده یا اطلاعاتی گفته می شود که در آن شیء نگهداری می شود.بعنوان مثال حساب یک فرد یک شیء می باشد که وضعیت آن می تواند نام فرد و مقدار موجودی آن باشد.رفتار یک شیء نیز اغلب به متدهای تعریف شده در آن شیء اطلاق می شود.بعنوان مثال می توانیم برای شیء حساب بانکی رفتار هایی از قبیل تعیین میزان بدهی فرد، اعللام موجودی او و نیز باز کردن حساب جدید را داشته باشیم.برای تعریف یک شیء مشخص کردن این دو مفهوم کافی بنظر می رسد، اما مسائل دیگری نیز وجود دارند که باید در نظر گرفته شوند.



برای خواندن ادمه مطلب بر روی download کلیک کنید




هادی شایق عین الدین بازدید : 284 پنجشنبه 29 اسفند 1392 نظرات (1)

به بیانی ساده می توان گفت ساختار یک نوع مقداری(value type)  است.نحوه تعریف و پیاده سازی آنها بسیار شبیه کلاس می باشد.اما تفاوتی بسیار مهم بین آن دو وجود دارد که باید به آن توجه نمود.همانطور که گفته شد ساختار یک نوع مقداری  است، در حالی که کلاس ها انواع ارجاعی(reference types) هستند.انواع مقداری،مقادیرشان را در همان نقطه ای از حافظه که در آن تعریف شده اند ذخیره می کنند.اما انواع ارجاعی اشاره گری را به شیئی در حافظه نگهداری می نمایند.هنگامی که شما ساختاری را کپی می کنید، C# نسخه ای جدید از شیء را ایجاد می کند و آن را به نمونه ای از یک ساختار جدید نسبت می دهد.اما چنانچه شما در  C#، کلاسی را کپی نمایید،در واقع یک نسخه کپی از ارجاع به شیء ایجاد می شود(نه نسخه ای از خود شیء)، و آن نسخه کپی به نمونه از یک کلاس دیگر نسبت داده می شود.تفاوت دیگری که بین آنه وجود دارد این است که ساختار ها بر خلاف کلاس ها destructorندارند.همچنین در ساختار ها ما قادر به پیاده سازی ارثبری نمی باشیم.در عوض ارثبری واسط ها را می توان داشت.

 

در فریم ورک دات نت انواع بسیار زیادی وجود دارند که از نوع ساختار می باشند.بسیاری از انواع پیش ساخته (Built-in) از این قبیل هستند.بعنوان مثال System.int32 از نوع int، aSystem.Single از نوع float وSystem.Bool در C# از نوع bool هستند.در واقع می توان گفت انواع پیش ساخته در C# نام های مستعاری برای انواع .Net Framework می باشند.اگر شما به مستندات موجود در رابطه با هریک از این انواع .NET Framework  نگاهی بیاندازید، می بینید که همه آنها از نوع ساختار تعریف و پیاده سازی شده اند.این مسئله اهمیت شناخت نوع ساختار را بیش از بیش مشخص می کند.

 

 

 برای خواندن ادامه مطلب برویdownload کلیک کنید

 

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نظرسنجی
    کدام یک را بیشتر دوست دارید
    کدام موضوع سایت را بیشتر دوست دارید؟
    آمار سایت
  • کل مطالب : 69
  • کل نظرات : 19
  • افراد آنلاین : 2
  • تعداد اعضا : 24
  • آی پی امروز : 79
  • آی پی دیروز : 78
  • بازدید امروز : 289
  • باردید دیروز : 272
  • گوگل امروز : 2
  • گوگل دیروز : 9
  • بازدید هفته : 289
  • بازدید ماه : 5,091
  • بازدید سال : 22,192
  • بازدید کلی : 191,894