در این ویدیو، ما می‌خواهیم به یک عضو دیگر از یک کلاس نگاه کنیم.
و این عضو به نام متدها است.
پس متدهای عضو یا توابع عضو وجود دارند.
توابع شبیه متدها هستند.
آن‌ها همان کار را انجام می‌دهند.
تنها تفاوت این است که توابع بخشی از یک کلاس نیستند.
اما وقتی یک تابع داخل یک کلاس باشد، به آن متد گفته می‌شود.
باشه.
پس اگر تا به حال این دو کلمه را با هم شنیده‌اید یا در سایر زبان‌های برنامه‌نویسی دیده‌اید،
اغلب فقط به آن‌ها توابع گفته می‌شود.
اما به محض اینکه در زمینه برنامه‌نویسی شیءگرا باشد،
به آن‌ها متد گفته می‌شود.OOP مثلاً در یک پروژه مبتنی بر
Customer.cs بیایید یک متد داخل فایل خود ایجاد کنیم.
customerما می‌دانیم که می‌توانیم یک سازنده پیش‌فرض به نام داشته باشیم که فقط مقادیر پیش‌فرض را تنظیم می‌کند.
اما اگر بخواهیم مقادیر را بعد از ایجاد شیء تنظیم کنیم چه؟
فرض کنید می‌خواهیم مقادیری مثل نام، آدرس و شماره تماس را بعد از ایجاد شیء تنظیم کنیم.
پس بعد از اینکه شیء از قبل ایجاد شده است، زیرا سازنده فقط یک بار فراخوانی می‌شود و آن
زمانی است که شیء ایجاد می‌شود.
newپس هر زمان که از کلیدواژه استفاده کنیم.
new customerیعنی هر زمان که این را اینجا داشته باشیم، همان زمان شیء ایجاد می‌شود.
اما پس از آن نمی‌توانیم از همان سازنده برای همان شیء مشتری استفاده کنیم، باشه؟
سازنده فقط یک بار در هنگام ایجاد فراخوانی می‌شود.
حال اگر بخواهیم جزئیات را بعد از آن تنظیم کنیم و نخواهیم مانند اینجا انجام دهیم، بلکه
با یک متد این کار را کنیم چه؟
public void خب، می‌توانیم یک متد ایجاد کنیم، مثلاً . setDetails
و سپس برای آن مشتری می‌توانیم تمام جزئیات را داشته باشیم.
پس می‌توانیم نام، آدرس، شماره تماس و غیره را داشته باشیم.
و کاری که می‌خواهیم انجام دهیم در واقع همان کاری است که با سازنده سفارشی خود انجام دادیم،
جایی که نام، آدرس و شماره تماس را گرفتیم و اساساً آن را در داخل به name، address و contactNumberنام ذخیره کردیم.
propertiesپس آن که اینجا تنظیم کردیم، فقط از پیش‌فرض استفاده می‌کنیم. getter و setter
ما نحوه استفاده از آن را تغییر ندادیم.
ما نگفتیم، خب اگر نام خالی باشد، آن نام را قبول نکن.
یا اگر آدرس خالی باشد، آن را به یک مقدار تصادفی یا مقدار پیش‌فرض یا چیزی شبیه به آن تنظیم کن.
می‌توانیم این کار را هم انجام دهیم.
می‌دانید چگونه این کار را انجام دهید.
شما این را زمانی که به خصوصیات نگاه می‌کردیم دیده‌اید، اما برگردیم به متد جدیدی که ایجاد کردیم،
است.Set Detailsکه نام آن
customerحالا، این متد، متدی است که به کلاس تعلق دارد.
customerو هر زمان که از این متد استفاده کنیم، شیء که روی آن این متد را فراخوانی می‌کنیم، .
تغییر می‌کند
پس بذارید این موضوع جا بیفتد.
این یعنی چه؟
خب، بیایید قدم به قدم نگاه کنیم.
بنابراین ما اکنون این متد را داریم.
publicو آن را کردیم تا بتوانیم از کلاس دیگری به آن دسترسی داشته باشیم، باشه؟
این همان access modifier به نام public است که اجازه می‌دهد از برنامه.cs فایل استفاده کنیم.
privateدر غیر این صورت اگر بود، نمی‌توانستیم این کار را انجام دهیم.
set detailsنمی‌توانستیم از متد در کلاس دیگر استفاده کنیم.
بعداً به این موضوع خواهیم پرداخت.
اما فقط می‌خواستیم خط کامل کد را سریع مرور کنیم.
سپس نوع بازگشتی را void می‌گوییم، که یعنی این متد نیازی به هیچ return ندارد.
return keywordباشه، هیچ یا چیزی شبیه به آن لازم نیست.
سپس به آن یک نام می‌دهیم و دوباره با حرف بزرگ شروع می‌کنیم و از استفاده می‌کنیمcamel case
بعد از آن، پارامترهای خود را داریم و بدنه متد را داریم، باشه؟
همه چیز داخل این آکولادها بدنه متد است.
CSحالا بیایید این متد را داخل برنامه خود استفاده کنیم.customer فایل روی
my customer، باشه؟
پس کاری که اکنون انجام می‌دهیم این است که می‌گوییم . my customer Dot
و می‌بینید که تمام propertyهایی که می‌توانیم دسترسی داشته باشیم نمایش داده می‌شوند: address، contact number و name.
است که متد ماست.set detailsو این چیز جدید
استفاده کنیم.set detailsپس اکنون می‌توانیم از این متد
را پاس دهیم.name، address و contact numberو می‌توانیم
پس بیایید همین کار را انجام دهیم.
یک نام اضافه کنیم.
صدا می‌کنیم.Frankاین یکی را
و سپس آدرس خواهد بود Main Street 2.
و شماره تماس خواهد بود ۵۵۵ و الی آخر، باشه؟
هر شماره‌ای که بخواهید.
و سپس با یک سمی‌کالن پایان می‌دهیم.
set detailsپس حالا اینجا نحوه فراخوانی متد را دیدیم.
my customerو حالا می‌خواهیم مقادیر برای است را بازنویسی کنیم.my customer که همان
My customer یک شیء از نوع customer است که ما ایجاد کرده‌ایم.
حال این کار کلاس اصلی را تغییر نمی‌دهد.
پس واضح است که این متد آن را تغییر خواهد داد، زیرا اکنون یک قابلیت به آن داده‌ایم.
کلاس.
پس این کلاس نمی‌تواند کاری انجام دهد.
در این مثال خاص، اکنون می‌تواند جزئیات را تنظیم کند، اما نه URL و نه Frank را تغییر نمی‌دهد.
و بیایید نگاهی به آن بیندازیم.
استفاده می‌کنیم.Console.WriteLineاز دستور
پس my customer این است و سپس به عنوان مثال my customer.dot name به علاوه و او در به علاوه
customer یا my customer.dot main street یا dot address.
من فراتر نمی‌روم.
اما این کافی است.
و حالا همین کار را برای URL انجام می‌دهیم.
پس URL خواهد بود URL.dot name.
و اینجا URL.dot address خواهد بود.
و این خط را نیز کامنت می‌کنیم.
فقط می‌خواهم نشان دهم چه اتفاقی می‌افتد.
my customer Frankزیرا اینجا می‌بینید دو زندگی می‌کند. Main Street است و او در
URL همان URL و سپس می‌گوید URL است و او در خالی زندگی می‌کند زیرا هرگز آدرس برای تعریف نکردیم.
و همچنین از سازنده پیش‌فرض استفاده نکردیم که در آن متغیر اختصاص داده می‌شد.
خوب، عالی.
این یک مثال بسیار ساده است برای اینکه چگونه می‌توانیم از متدها استفاده کنیم.
ما دوباره به متدها نگاه خواهیم کرد اما از زاویه‌ای کمی متفاوت با ماشین، زیرا می‌خواهم
واقعاً مطمئن شوم که شما می‌فهمید متدها در زمینه کلاس‌ها چگونه کار می‌کنند، زیرا آن‌ها متفاوت عمل می‌کنند
از چیزی که قبلاً استفاده کرده‌ایم.
قبلاً فقط برای این بودند که یک سری کد را بگیرند و قابل استفاده مجدد کنند.
و اکنون ما یک سری کد قابل استفاده مجدد داریم، اما آن را در یک کلاس قرار می‌دهیم یا داخل کلاس می‌گذاریم.
پس این فقط چیزی را که درون کلاس است تغییر می‌دهد یا کاری را در ترکیب با آن کلاس انجام می‌دهد.
پس هر زمان که از یک شیء از آن کلاس استفاده می‌کنیم، مانند URL که یک شیء از کلاس customer ما است،
URL.dotمی‌توانیم از و سپس نام متدمان استفاده کنیم تا کاری با آن انجام دهیم.
هم صدق می‌کند.my customerهمین موضوع برای
customerاین یک شیء از کلاس ما است.
my customer.dotپس اکنون می‌توانم از استفاده کنم.
و هر چیزی که نام متدی است که تعریف کرده‌ایم و با آن کاری انجام my customerدهیم، را با آن تغییر دهیم
با آن انجام دهد.my customerیا کاری کنیم که
خوب، پس این ویدیو هم تمام شد.
در ویدیوی بعد می‌بینمتان.