آموزش شی گرایی – قسمت دوم

آموزش شی گرایی

در قسمت دوم آموزش شی گرایی در ادامه آموزش اول درباره Proeperty ها که نقش مهمی در شی گرایی دارند بیشتر صحبت میکنیم.

 آموزش شی گرایی – قسمت  دوم

توجه : برای مشاهده تصاویر در سایز های اصلی برروی آنها کلیک کنید.

Propertyها(خصوصیات)

پروپرتی ها یا خصوصیات کلاس ها کار را برای ما خیلی راحت کردند بدین صورت که چنین مزیت دارند یکی اینکه به طور مستقیم میتوان به فیلد های کلاس دسنرسی پیدا کنیم و دیگری اینکه دیگر نیازی به استفاده از دستوراتی مانند write , read در بدنه کلاس نمیباشد و این ویژگی خیلی مهم میباشد بدین دلیل که شاید ما بخواهیم از فایل کلاس در سیستمی دیگر یا حتی با زبان و ورژنی دیگر از هر زبان استفاده کنیم و ممکن است زبان جدید از این سری دستورات پشتیبانی نکند به همین دلیل از پروپرتی ها ساتفاده میکنیم تا دستورات اینچنین را درون بدنه main قرار دهیم با هر زبانی اما بدنه کلاس را بتوانیم با همه زبان ها وقف دهیم.

شکل کلی پروپرتی ها بدین صورت میباشد

در ابتدا که یک فیلد در کلاس ایجاد شده سپس برای آن فیلد پروپرتی با نام MyProperty (یا هر نام دیگری) و با نوع int در واقع نوع پروپرتی باید هم نوع متغیری باشد که میخواهیم این پروپرتی را به آن اختصاص دهیم سپس دو قسمت get , set درون بدنه آن وجود دارد که قسمت get درواقع مقدار درونی متغیر مربوطه را برمیگرداند با استفاده از دستور return و قسمت set مقداری را توسط دستور ضمنی value به متغیر میدهد.

میتوان این بدنه را با تایپ کردن عبارت propfull و سپس فشردن دوبار کلید tab ایجاد کرد یا به صورت دستی تایپ کرد.

ما تکه کد زیر را به قسمت کلاس برنامه اضافه کرده ایم

که همانگونه که مشخص است شی price  و پروپرتی برای آن با نام _price ایجاد شده و سپس قسمت main برنامه را چنین تغییر داده ایم

که تغییر چندانی ایجاد نشده تنها مقدار پروپرتی price_ هر دو شی را مقدار دهی کرده ایم و انهارا در خروجی چاپ کرده ایم.

حتی میتوان درون پروپرتی ها شرطی قرار داد تا در هنگام وارد کردن مقداری درون آن فیلدها مقدار را بررسی کرده و براساس خواسته برنامه نویس عکس العمل نشان دهد برای مثال ما شرطی درون پروپرتی مربوط به فیلد price قرار میدهیم بدین صورت که اگر مقدار این فیلد کمتر از ۱۶۰۰۰  باشد عبارت off را نیز در ادامه مشخصتاش چاپ کند پس درون کلاس کدها را بدین صورت تغییر خواهیم داد.

چون در هنگام مقدار دهی میخواهیم مقدار وارد شده را چک کند پس درون قسمت set شرط مورد نظر را تایپ میکنیم حال با اجرا برنامه خروجی زیر را خواهیم داشت

آموزش شی گرایی
آموزش شی گرایی

 

Auto-Implemented prop

این گونه از پروپرتی ها نیازی به Back Field ندارد که در این شرایط سرعت کار بالا میرود اما نتیجه را نمیتوان جایی ذخیره کرد و از دست میرود که در شرایطی حتما به Back Field نیاز است برای داشتن نتیجه در حالی که در شرایطی نیز نتیجه کار مهم نیست و فقط سرعت مدنظر است.

برای مثال تکه کد زیر

در شبه کد فوق هیج فیلدی مربوط به این پروپرتی در کلاس وجود ندارد اما همانگونه که مشاهده میکنید میتوان اینچنین پروپرتی ایجاد کرد.

مدرس : خانم مهندس داودی نژاد

آموزش شی گرایی – قسمت اول

آموزش شی گرایی – قسمت سوم 

درباره نویسنده

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *