تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت علی (ع) : دانش اندک همراه با عمل بهتر از علم بسیار بدون عمل است.

آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و چهاردهم


به نام پروردگار جهان

آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و چهاردهم

سلام به همه کاربران وبسایت لندلرن

قسمت صد و چهاردهم


خاصيتهاي خواندني-نوشتني :

تاكنون متوجه شديم كه يكي از دلايل برتري استفاده از خاصيت ها به جاي فيلد ها، در اين است كه با استفاده از خاصـيت هـا مـي توان از تغيير دادن مستقيم فيلد توسط كاربر جلوگيري كرد، همانند خاصيت Speed كه در قسمت قبل به صورت فقـط -خوانـدني تعريف شد .

اما در اينجا ممكن است سوال كنيد براي مواردي كه كاربر هم مي تواند مقدار يك فيلد را بخواند و هم آن را تغييـر دهـد،
چرا بايد به جاي استفاده از فيلد، از خاصيت استفاده كنيم؟

خوب، اگر به جاي استفاده از فيلد از خاصيت استفاده كنيد، مي توانيد كدهايي را مشخص كنيد تا هنگام خوانده شدن و يا نوشته شدن فيلد توسط كاربر اجرا شوند، و اين مورد از اهميت زيادي برخوردار است .

براي مثال با استفاده از خاصيت ها مي توانيد قبل از اينكه مقداري به يك فيلد اختصاص داده شود، از درست بودن آن مطمئن شويد .

براي مثال تصور كنيد كه مي خواهيد فيلدي به نام NumberOfDoors ،براي مشخص كردن تعداد درهاي يك اتومبيـل در كلاس Car قرار دهيد .

نوع داده اي اين فيلد از كلاس بايد از نوع عدد صحيح باشد تا بتواند تعداد درهاي يك اتومبيـل را در خـود نگه دارد .

اما مسلماً نمي خواهيد كه كاربر بتواند عدد ۰ و يا عدد ۶۵۵۰۰ را در اين فيلد وارد كند. به عبارت ديگر مي خواهيد عدد وارد شده توسط كاربر در بازه ۲ تا ۶ باشد .

نكته: ممكن است بگوييد كه اين كلاس توسط برنامه نويس ديگري مورد استفاده قرار مي گيرد، بنابراين وظيفه اوست كه هنگـامي كه بخواهد مقداري را در اين فيلد قرار دهد از درست بودن آن مطمئن شود .

در طراحي يك كلاس، وظيفه برنامه نويس است كـه تـا حد ممكن كار را براي افرادي كه مي خواهند از كلاس استفاده كنند ساده كند .

رسيدگي كردن به صحت داده هـاي ورودي، يكـي از مهمترين جنبه هاي طراحي يك كلاس محسوب مي شود .

همچنين همواره خاصيت ها مقدارهاي ذخيره شده در يك فيلد را برنمي گردانند، بلكه ممكن است مقداري را از جاي ديگري بدسـت آورند و يا آن را بر اساس يك سري اطلاعات محاسبه كرده و برگردانند .

براي مثال تصور كنيد بخواهيد تعـداد كـل سفارشـات يـك مشتري را به عنوان يك خاصيت در كلاس Customer قرار دهيد.

همانطور كه مي دانيد هنگـام طراحـي يـك كـلاس بـراي Customer ،فيلدي براي نگهداري اين عدد مشخص نمي شود، بلكه يك شيئ بايد در صورت لزوم، آن را محاسبه كند .

در اينصورت مي توانيد در قسمت get يك خاصيت، كدي را بنويسيد كه با توجـه بـه ليـست سفارشـات يـك مـشتري در يـك بانـك اطلاعاتي، تعداد كل آنها را محاسبه كرده و برگرداند .

اين موارد در بخشهاي بعدي مورد بررسي قرار مي گيرند، بنابراين بهتر است بـه مسئله تعداد درهاي اتومبيل برگرديم .

امتحان كنيد: اضافه كردن خاصيت NumberOfDoors

اولين كاري كه بايد انجام دهيد اين است كه فيلدي براي نگهداري تعداد درهـاي يـك شـيئ از كـلاس Car را، در آنايجاد كنيد .

به صورت پيش فرض در نظر مي گيريم كه مقدار اين خاصيت برابر با ۴ است. بنابراين كد مـشخص شـده در زير را به كلاس اضافه كنيد :

حال ميتوانيد خاصيتي براي تنظيم و يا دسترسي به تعداد درهاي اتومبيل ایجاد کنید.

و همواره بررسـ ي كنید. كـه عـدد موجود براي ي اين فیلد ۲ تا ۶ باشد.

كد زير را بعد از متد Accelerate در كلاس Car وارد كنید.

نكته: در اين بخش از ايجاد خطا هنگامي كه عددي خارج از محدوده مورد نظر وارد شد صرفنظر مي كنيم .

اما اصـولا هنگـامي كـه يك عدد نا معتب ر در كلاس وارد شد، بايد يك خطا ايجاد كنيد .

به اين ترتيب فردي كه در حال اسـتفاده از كـلاس اسـت متوجـه رخ دادن خطا شده و در مورد چگونگي برخورد با اين خطا تصميم گيري مي كند .

در مورد چگونگي ايجاد اين نـوع خطاهـا در قسمت های پایانی دوره صحبت خواهيم كرد .

براي بررسي تغييراتي كه در كلاس ايجاد كرده ايد، بايد زير برنامه Main در Program.cs را بـه صـورت زيـر تغيير دهيد:

حال برنامه را اجرا كنيد.

حتما تاکنون متوجه شده اید که در این بخش و چند بخش قبلی از تصویر نتایج صرف نظر کردم

دلیل این کار است که شما در سیستم خود این کد ها رو تست کنید.

جهت طرح سوالات میتوانید از کامنت های زیر همین پست یا

آیدی تلگرام و سروش: @ordervira

پیج اینستاگرام: instagram.com/sajjadred11

جهت حمایت از وبسایت ما میتوانید مطالب ما را به دوستان خود معرفی کنید.

سپاس بی پایان

با قسمت بعدی همراه باشید.

شما میتوانید به کانال سروش @Barnamedan بپیوندید.


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

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ