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

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

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

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

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

حضرت علی (ع): هر چیزی زکات دارد ، و زکات علم نشر آن است!

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


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

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

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

قسمت صد و بیست و پنجم


امتحان كنيد: سربار گذاري توابع:

  • یک پروژه جدید ایجاد کنید و نام آن را Overloading demo بنامید
  • فایل Program.cs را باز کنید و قطعه کد زیر را به آن بیفزایید.
  • حال مي خواهيم متدي با همين نام داشته باشيم، ولي يك رشته را به عنوان ورودي دريافت كند .
  • بنابراين متـد زيـر را بـه برنامه اضافه كنيد:
حال متد Main را به صورت زير تغيير دهيد تا توابع ايجاد شده را بررسي كنيم:
برنامه را اجرا كنيد.

چگونه كار مي كند؟

در ابتداي برنامه متدي براي نمايش يك عدد صحيح در خروجي ايجاد كرديم .

اين متد همانند متـدهاي عـادي اسـت و هـيچ نكتـه خاصي در ايجاد كردن آن نبايد در نظر گرفته شود .

البته دقت داشته باشيد، همانطور كه در بخش قبل هم گفتم، ايـن متـد هـا بـراي اينكه بتوانند توسط متد Main قابل دسترسي باشند بايد از نوع static تعريف شوند .

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

ولي اين بار پارامترهـاي ورودي آن را به صورت يك رشته تعريف كرديم .

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

اين مورد را در هنگام اسـتفاده از ايـن متـد هـا در قسمت Main مشاهده مي كنيد .

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

در مرتبه دوم فراخواني متد هم، رشته فرستاده شده به همراه پيغامي براي مـشخص شـدن متـد دوم در صفحه چاپ مي شود .

استفاده از خاصيت ها و متدهاي Static:

بعضي مواقع ممكن است بخواهيد از توابع و متد هايي استفاده كنيد كه مختص به يك شيئ از كلاس نباشند، بلكه بـه كـل كـلاس اختصاص داشته باشند .

تصور كنيد مي خواهيد كلاسي طراحي كنيد كه نام كاربري و كلمه عبور را براي كاربران يـك برنامـه ذخيـره كند.

براي اين كار ممكن است از كدي مشابه زير استفاده كنيد :

حال تصور كنيد كه كلمه عبور هر كاربر نبايد از تعداد كاراكتر هاي مشخصي (فرضاً ۶ كاراكتر ) كمتر باشد .

براي اين كـار يـك فيلـد جديد در كلاس تعريف مي كنيد و حداقل تعداد كاراكتر هاي مجاز براي كلمه عبور را در آن ذخيره مي كنيد :

خوب، تاكنون همه چيز عادي و واضح به نظر مي رسد .

اما تصور كنيد كه برنامه شما ۵۰۰۰ كاربر داشته باشد، بنابراين ۵۰۰۰ شيئ از اين كلاس بايد در حافظه ايجاد شود و هر كدام از اين شيئ ها نيز يك متغيير به نام MinPasswordLength دارند كـه ۴ بايت فضا را اشغال مي كنند .

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

اگرچه در كامپيوترهاي امروزي ۲۰ كيلو بايت فضاي زيادي محسوب نمي شود، اما همانطور كه در قبل گفتم نبايـد بي دليل حافظه را هدر داد. براي اين كار روشهاي بهتري نيز وجود دارد .

استفاده از خاصيت هاي Static:

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

به اين ترتيب بازاي هر تعداد كاربري كـه در برنامـه داشته باشيد، فقط يك متغيير به نام MinPasswordLength ايجاد شـده و ۴ بايـت فـضا اشـغال مـي شـود .

در بخـش امتحان كنيد بعد، نحوه ي انجام اين كار را مشاهده خواهيم كرد .

امتحان كنيد: استفاده از خاصيت هاي Static

ويژوال استوديو ۲۰۱۷ را باز كنيد و پروژه ويندوزي جديدي با ويژوال #C به نام Static Demo  ايجاد كنيد .

هنگامي كه قسمت طراحي Form1 نمايش داده شد، عنوان فرم را به Static Demo تغيير دهيـد .

سـپس بـا استفاده از جعبه ابزار، يك كنترل ListBox ،يك كنترل Label و يك كنترل NumericUpDown را در فرم قرار دهيد. بعد از تغيير اندازه اين كنترل ها، فرم شما بايد مشابه شكل زیر باشد.

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

 


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

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

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

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

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

soroush کانال سروش

کانال آی گپ