• مقدمه

مهم‌ترین بخش‌ها از آموزش زبان برنامه‌نویسی سی‌شارپ شروع شده است و در بخش شماره ۵۹، شما با نحوه ساختن یک Class ساده، پیاده‌سازی یک متد و استفاده از آن را فراگرفتید. در این بخش قصد داریم که با نحوه ارسال پارامتر به متدهای Class را با یکدیگر در قالب یک جلسه بسیار کوتاه تمرین کنیم. پس با ما همراه باشید…

  • ارسال مقدار به Classها

جلسه پیش را به‌خاطر دارید؟ پیامی را که در جلسه قبل برای نمایش قرار دادیم، یک پیغام ساده با محتوای Happy Birthday بود. اما حال فرض کنید اگر بخواهیم اسم شخص را نیز همراه با این پیغام بیاوریم باید چه کنیم؟ قطعاً باید نام را از کاربر دریافت کرده و آن را همراه با این پیام به کاربر نشان دهیم.

چندین روش برای ارسال اطلاعات به Classها وجود دارد. یکی از راحت‌ترین روش‌ها، ارسال اطلاعات بوسیله آرگومان‌های متدها می‌باشد. متدی را که در جلسه پیش با هم نوشتیم را بارگذاری کنید و آن را به شکل زیر تغییر دهید:

public string getMessage(string givenName)

{

return “Happy Birthday” + givenName;

}

پس ما تنها یک آرگومان با نام givenName از نوع String را میان پرانتزهای متد getMessage قرار دادیم. ما در ادامه از این کد استفاده خواهیم کرد…

حال اگر بخواهید به همین شکل یک اجرا از نرم‌افزار خود بگیرید، خواهید دید که ویژوال استودیو خطایی را از شما می‌گیرد و خط زیر را برای شما علامت می‌کند:

birthdayMessage.getMessage();

دلیل این خطا این است که شما برای متدی که در این Class تعریف کرده‌اید، یک آرگومان همراه با آن در نظر گرفته شده است، پس می‌بایست به همین شکل نیز در خود برنامه مورد استفاده قرار بگیرد.

جهت رفع خطا، کد فوق را به شکل زیر تغییر دهید:

birthdayMessage.getMessage(“Shahid”);

با اجرا نرم‌افزار، پیغام زیر را پس از کلیک بر روی button مشاهده خواهید کرد:

message_box_shahid

روشی که با آن اطلاعات را به Class ارسال کرده‌ایم، روش مناسب و متداولی نیست؛ اما چونکه سطح دسترسی متد را بصورت public در نظر گرفته‌ایم، توانستیم که بدین شکل اطلاعات را ارسال کنیم.

دقت کنید که در شیء‌گرایی ما همیشه سعی می‌کنیم که متدها را بصورت private یا خصوصی در نظر بگیریم؛ چرا که مفهوم شیءگرایی همین است! تا جایی که امکان باشد، هرآنچه که در یک Class است را بصورت private در نظر بگیریم.

اکنون، متد فوق را که public بود، با عوض کردن کلمه کلیدی public به private، سطح دسترسی آن را تغییر دهید؛ برنامه خود را مجدد اجرا کنید، خواهید دید که خطایی را دریافت خواهید کرد! شما نمی‌توانید از این متد استفاده کنید، چرا که سطح دسترسی آن اکنون بصورت Private است و نمی‌تواند بیرون از class استفاده شود.

اما ما اکنون می‌خواهیم اطلاعاتی را به Class ارسال کنیم؛ پس روش چیست؟ در جلسه بعدی با مفهوم property آشنا خواهید شد که باعث حل این مشکل می‌شود.