علمی فناوری 14:52 - 07 دی 1404

آموزش سی‌شارپ – بخش ۶۱
  • مقدمه

در بخش ۶۰ام از سری آموزش زبان برنامه‌نویسی سی‌شارپ، شما با نحوه ارسال اطلاعات به Class را آموختید، اما اگر به خاطر داشته باشید، در مورد روش نامناسب ارسال اینگونه اطلاعات کمی صحبت کردیم. در این قسمت می‌خواهیم در رابطه با Propertyهای یک Class که بوسیله آن‌ها می‌توانیم اطلاعات را ارسال کنیم، صحبتی داشته باشیم.

  • اضافه کردن Property به کلاس‌ها

تا کنون که درحال نوشتن آموزش‌های زبان سی‌شارپ بودیم و شما گام‌به‌گام همراه با ما پیش رفتید، از مفهموم Property استفاده زیادی کردیم. مثلاً، یکی از Propertyهای پرکاربرد Textbox، با نام text بود که توسط آن، می‌توانستیم متن داخل Textbox را تعیین کنیم. برای مثال:

textBox1.Text = “My Text”;

پس ما یک Object با نام textbox1 داریم که یک Property به نام Text در آن وجود دارد.

به Classای که پیش‌تر در پروژه ساختیم نگاه کنید؛ فعلاً تنها کدی که در آن وجود دارد، یک متد از نوع Private می‌باشد که نام آن را getMessage قرار داده بودیم. این متد بدلیل آنکه سطح دسترسی Private دارد، بیرون از کلاس قابل دیدن و استفاده کردن نیست. اما عدم امکان استفاده از آن در بیرون از کلاس، دلیل بر عدم کارآیی آن بطور کلی نیست، بلکه می‌توانیم از آن در داخل خود Class استفاده کنیم.

ما با استفاده از Propertyای که تعریف می‌کنیم، خواهیم توانست که این متد را بعداً صدا بزنیم. Property ما قرار است دو کار زیر را انجام دهد:

۱. ارسال اطلاعات به Class

۲. بازخوانی اطلاعات ارسال شده از Class

روش ساده برای اضافه کردن یک Property به Class، استفاده از Insert Snippet که بصورت منو است، می‌باشد. کافیست که بر روی فضای خالی از کدهایتان راست کلیک کرده و روی Insert Snippet کلیک کنید.

insertSnippet_p100

با انتخاب این گزینه، منوی زیر برای شما نمایش داده می‌شود. کاربران Visual Studio نسخه ۲۰۱۲ آن ممکن است که منوی دیگری را ابتدا مشاهده کنند.

insertSnippetProp_p100

گزینه prop را انتخاب کرده تا کدهای پیشفرض برای شما قرار گیرد. دقت کنید که اگر درحال استفاده از Visual Studio 2012 هستید، می‌بایست که گزینه propfull را انتخاب کنید.

insertSnippetProp2_p100

کدها شاید کمی گیج‌کننده بنظر بیاید، اما نترسید؛ تک‌تک موارد را قدم به قدم با هم پیش خواهیم رفت.

کد بصورت پیشفرض برای یک Property از نوع integer و سطح دسترسی public با نام MyProperty ایجاد شده است. یک متغیر با سطح دسترسی private نیز ایجاد شده که نام آن myVar می‌باشد. دقت کنید که به متغیرهای داخل یک کلاس، فیلد (Field) نیز می‌گویند.

قرار است که ما متن تبریک تولد را بصورت String برگردانیم، پس کدهایتان را به‌شکل زیر تغییر دهید:

insertSnippetProp3_p100

نام متغیری که بیرون از Property هست را به birthdayMessage تغییر دادیم. دقت کنید که دسترسی آن Private بوده و فقط در داخل Class می‌توان از آن استفاده کرد. در داخل Property نیز دقت کنید که مقدار myVar را نیز به نام جدید آن‌، یعنی birthdayMessage، تغییر داده‌ایم.

ساختار یک Class بصورت زیر است:

public string MyProperty

{

}

شما می‌توانید از هر نوعی که بخواهید و با هر نامی که تمایل دارید یک Property بسازید؛ تقریباً شبیه به یک متغیر است! حال دقت کنید که در داخل بدنه یک Property، قسمتی جهت دریافت مقدار متغیر می‌باشد.

get { return birthdayMessage; }

و بخش دیگری نیز جهت تنظیم مقدار متغیر وجود دارد:

set { birthdayMessage = value; }

کلمات کلیدی set و get برای این مقصود بکار می‌روند. Value همان مقداری است که می‌خواهید به Property ارسال کنید.

اگر مقدار داخل عبارت set را به مقدار زیر تغییر دهید، متدی که قبلاً بصورت private بوده نیز مورد استفاده قرار خواهد گرفت.

birthdayMessage = getMessage( value );

در قسمت بعد، نحوه استفاده از این propertyها را فراخواهید گرفت.


4353814
 
پربازدید ها
پر بحث ترین ها

مهمترین اخبار علمی فناوری

علمی فناوری
«باشگاه خبرنگاران» رئیس مرکز درمانی شهید مطهری با اعلام اینکه ۸۵ درصد سوختگی‌ها قابل پیشگیری هستند، گفت: در زمینه تخت‌های بیمارستانی سوختگی ۱۰۰۰ تا ۱۲۰۰ کمبود در کشور وجود دارد.
علمی فناوری
«باشگاه خبرنگاران» فرصت ثبت نام در چهل و سومین دوره آزمون پذیرش دستیار فوق تخصصی پزشکی بالینی به مدت ۲۴ ساعت تمدید شد.
علمی فناوری
«باشگاه خبرنگاران» دوازدهمین جلسه کمیسیون مشورتی ستاد علم و فناوری با حضور اعضا به بررسی تفصیلی سند روزآمدسازی نقشه جامع علمی کشور اختصاص یافت.
علمی فناوری
«باشگاه خبرنگاران» پزشکیان؛ رئیس شورای عالی انقلاب فرهنگی مصوبه «سند ملی توسعه علوم و فناوری‌های مواد پیشرفته و فرایند‌های نوین فرآوری مواد» را برای اجرا ابلاغ کرد.
علمی فناوری
«باشگاه خبرنگاران» مدیر کل آموزش و پرورش استان کرمان از آمادگی مدارس برای اسکان زائران شهید سلیمانی در شهر کرمان خبر داد.
علمی فناوری
«باشگاه خبرنگاران» مصاحبه علمی پذیرفته‌شدگان آزمون دکتری تخصصی و دکتری پژوهشی (Ph.D) رشته‌های علوم پایه پزشکی، بهداشت و تخصصی، داروسازی و دندانپزشکی ۱۴۰۴ آغاز شد.
علمی فناوری
«باشگاه خبرنگاران» وزیر بهداشت در نامه‌ای به دکتر پزشکیان، خواستار کاهش ظرفیت پذیرش دانشجوی پزشکی و دندانپزشکی به نصف ظرفیت سال ۱۴۰۴ شد. درخواستی که ظرفیت‌های پزشکی و دندانپزشکی را به ظرفیت سال ۱۴۰۰ برمی‌گرداند.
علمی فناوری
«باشگاه خبرنگاران» در شرایطی که افزایش مصرف گاز خانگی در فصل زمستان موجب تشدید ناترازی انرژی و قطع گاز صنایع و نیروگاه‌ها می‌شود، یک پلتفرم هوشمند با استفاده از هوش مصنوعی برای پایش، تحلیل و بهینه‌سازی مصرف گاز مشترکان خانگی طراحی شده است.
علمی فناوری
«باشگاه خبرنگاران» وزیر آموزش‌وپرورش با تأکید بر آغاز «گام دوم نهضت توسعه عدالت آموزشی» از تغییر رویکرد مدرسه‌سازی خبر داد.
علمی فناوری
«باشگاه خبرنگاران» مدیر تولید یک شرکت دانش‌بنیان، از تولید و عرضه داروی اوندیشن برای بیماران مبتلا به آتروفی عضلانی نخاعی خبر داد.

مشاهده مهمترین خبرها در صدر رسانه‌ها

صفحه اصلی | درباره‌ما | تماس‌با‌ما | تبلیغات | حفظ حریم شخصی

تمامی اخبار بطور خودکار از منابع مختلف جمع‌آوری می‌شود و این سایت مسئولیتی در قبال محتوای اخبار ندارد

کلیه خدمات ارائه شده در این سایت دارای مجوز های لازم از مراجع مربوطه و تابع قوانین جمهوری اسلامی ایران می باشد.

کلیه حقوق محفوظ است