WEBVTT

00:00.110 --> 00:00.740
خوش آمدید دوباره.

00:00.740 --> 00:05.270
در این ویدیو ما به متدها نگاه خواهیم کرد، اما قصد داریم آن را بسیار ساده نگه داریم، خوب.

00:05.270 --> 00:08.300
در ویدیوی بعدی، به متدها با پیچیدگی بیشتری خواهیم پرداخت.

00:08.300 --> 00:14.600
اما در اینجا من فقط می‌خواهم ایده‌ای از اینکه متدها چه کاری می‌توانند انجام دهند به شما بدهم.

00:14.600 --> 00:16.880
و این یکی از مثال‌ها خواهد بود.

00:16.880 --> 00:22.100
چندین مثال لازم است تا عمق متدها را درک کنید.

00:22.100 --> 00:24.350
هستم.Carپس من در داخل کلاس 

00:24.350 --> 00:25.790
را هم دارم.Customer  و می‌بینید که کلاس 

00:25.790 --> 00:27.020
به آن بعداً نگاه خواهیم کرد.

00:27.020 --> 00:31.460
 Car اما فعلاً در کلاس 
 ما متغیرهای عضو خود را داریم.

00:31.460 --> 00:35.300
ویژگی‌هایمان را داریم و سپس سازنده را داریم.

00:35.300 --> 00:37.400
فعلاً چیز دیگری وجود ندارد.

00:37.400 --> 00:43.220
اما کاری که می‌توانیم انجام دهیم این است که اضافه کنیم.Car متدها را به کلاس 
 
00:43.220 --> 00:51.350
و متدی که به یک کلاس اضافه می‌شود، کاری که شی آن کلاس می‌تواند انجام دهد را تغییر می‌دهد.

00:51.350 --> 00:51.980
خوب.

00:51.980 --> 00:55.670
پس برای مثال، کاری که یک ماشین می‌تواند انجام دهد چیست؟

00:55.700 --> 00:57.740
یک ماشین می‌تواند رانندگی کند، خوب.

00:57.740 --> 01:03.980
با نام public voidپس بیایید یک متد 
 ایجاد کنیمdrive

01:03.980 --> 01:07.040
این یک متد بسیار ساده خواهد بود.

01:07.040 --> 01:10.940
تنها کاری که انجام می‌دهد این است که "دارم رانندگی می‌کنم" را می‌گوید.

01:10.940 --> 01:13.370
همین چیزی است که نمایش داده می‌شود، خوب.

01:13.370 --> 01:15.320
پس واقعاً، واقعاً ساده است.

01:15.320 --> 01:20.840
publicما از کلیدواژه 
 استفاده می‌کنیم که اجازه می‌دهد اطمینان حاصل کنیم می‌توانیم از این متد خارج از این کلاس استفاده کنیم.

01:20.840 --> 01:22.130
Programپس می‌توانیم از آن در کلاس 
 هم استفاده کنیم، برای مثال.

01:22.130 --> 01:25.520
voidسپس از 
 استفاده می‌کنیم، که به این معنی است که چیزی برنمی‌گرداند.

01:25.520 --> 01:29.060
استفاده می‌کنیم.driveو از نام 

01:29.060 --> 01:30.470
پس با حرف بزرگ شروع می‌کنیم.

01:30.470 --> 01:31.790
driveو سپس به صورت معمول 
 را می‌نویسیم و سپس پرانتزها، می‌توانید پارامتر اضافه کنید.

01:31.790 --> 01:38.180
اما در اینجا من آن را بسیار ساده نگه می‌دارم.

01:38.180 --> 01:40.970
و فقط می‌گویم، خوب، حالا بگوییم "دارم رانندگی می‌کنم"، خوب.

01:40.970 --> 01:46.550
حالا بیایید اینجا برویم.

01:46.550 --> 01:48.530
خود برویم.Program.csحالا به فایل 
 
01:48.530 --> 01:51.260
و کمی آن را مرتب کرده‌ام.

01:51.260 --> 01:52.430
تمام کدهای دیگر را حذف کرده‌ام.

01:52.430 --> 01:54.290
اما کاری که می‌خواهم انجام دهم این است که یک ماشین جدید ایجاد کنم.

01:54.290 --> 01:58.040
 myAudiپس
Car یک ماشین جدید است، به همین صورت. حالا به کلاس 
 نگاه می‌کنیم و باید مدل، برند و لوکس بودن آن را اضافه کنیم.

02:09.920 --> 02:10.220
درست است.

02:10.220 --> 02:12.830
هنوز هیچ سازنده دیگری نداریم.

02:12.830 --> 02:16.910
نه، نداریم، خوب، پس بیایید مدل را اضافه کنیم.

02:17.150 --> 02:18.530
مدل A3 خواهد بود.

02:18.770 --> 02:23.900
برند Audi خواهد بود و لوکس بودن آن false است.

02:23.900 --> 02:26.540
پس از نسخه لوکس استفاده نمی‌کنیم.

02:26.540 --> 02:29.690
و حالا کاری که می‌خواهم انجام دهم این است که استفاده کنم.myAudiاز 
 
02:29.990 --> 02:35.360
driveو سپس متد 
 را به این صورت فراخوانی می‌کنم.

02:35.360 --> 02:44.420
پس می‌بینید که می‌توانید یک متد را روی یک کلاس استفاده کنید، که کاری است که ما در اینجا همیشه انجام داده‌ایم.

02:44.420 --> 02:44.870
تمام مدت.

02:44.870 --> 02:45.200
درست است.

02:45.200 --> 02:50.930
ما از console.readKey استفاده کرده‌ایم یا با کلید w از console.writeLine.

02:50.930 --> 02:54.620
پس ما همچنین از یک متد که داخل یک کلاس است استفاده کرده‌ایم.

02:54.620 --> 02:59.420
اینجا کمی متفاوت است چون نیازی به ایجاد شیء برای انجام آن نداشتیم
.consoleاز 
 
02:59.420 --> 03:03.110
و به همین دلیل این writeLine به صورت static است.

03:03.110 --> 03:07.730
staticپس دوباره به کلیدواژه 
 بازمی‌گردیم، که تا به حال اصلاً در مورد آن صحبت نکرده‌ایم.

03:07.730 --> 03:09.800
اما حالا شروع به معنا پیدا کردن می‌کند.

03:09.800 --> 03:12.650
من کمی بعد به این کلیدواژه می‌پردازم.

03:12.650 --> 03:18.350
اما چیزی که حالا اینجا داریم یک شیء است که ایجاد کرده‌ایم.

03:18.350 --> 03:22.760
و می‌توانیم از متد آن استفاده کنیم، یعنی از عملکرد آن برای انجام کاری استفاده کنیم.

03:22.760 --> 03:29.780
پس می‌بینیم که یک شیء می‌تواند ویژگی داشته باشد و می‌تواند متد داشته باشد.

03:29.780 --> 03:35.120
ویژگی‌ها صفات آن شیء هستند.

03:35.120 --> 03:40.130
و متدها توانایی‌ها، مهارت‌ها و کارهایی هستند که می‌تواند انجام دهد.

03:40.130 --> 03:42.230
برای مثال، می‌تواند رانندگی کند.

03:42.230 --> 03:46.220
این متدها برای انجام عملیاتی واقعی استفاده می‌شوند، خوب.

03:46.220 --> 03:50.690
برای اجرای بخشی از کد و واقعاً انجام چیزی مانند، برای مثال، رانندگی.

03:50.690 --> 03:52.490
قرار است رانندگی کند.myAudiپس حالا 
 
03:52.490 --> 03:55.520
بیایید آن را اجرا کنیم و خواهیم دید.

03:55.520 --> 03:58.070
فقط می‌گوید "دارم رانندگی می‌کنم".

03:58.070 --> 04:00.230
ایجاد شده است.Audi A3ابتدا یک 

04:00.230 --> 04:01.850
بله، این خط دیگری است که داشتیم.

04:01.850 --> 04:03.770
و سپس می‌گوید "دارم رانندگی می‌کنم".

04:03.770 --> 04:09.800
پس کاری که حالا می‌توانم انجام دهم این است driveکه می‌توانم به این متد 
 اطلاعات بیشتری بدهم.

04:09.800 --> 04:16.700
برای مثال، می‌توانم بگویم "من یک چنین و چنان هستم و دارم رانندگی می‌کنم".

04:16.700 --> 04:21.920
پس بیایید یک علامت دلار اینجا اضافه کنیم تا از دستکاری رشته‌ای استفاده کنیم.

04:21.920 --> 04:24.680
و می‌خواهم بگویم "من هستم".

04:24.680 --> 04:32.210
و سپس از مدل استفاده می‌کنم و می‌گویم "دارم رانندگی می‌کنم"، یا حتی بیشتر، نباید این‌طور از مدل استفاده کنیم.

04:32.210 --> 04:34.550
استفاده کنیم، خوب.propertyباید از  

04:34.550 --> 04:39.500
پس در اینجا از property استفاده خواهیم کرد چون در property مشخص می‌کنیم چه اتفاقی باید بیفتد اگر بخواهیم به مدل دسترسی پیدا کنیم.

04:39.500 --> 04:40.550
درست است.

04:40.550 --> 04:40.970
درست.
******************************
04:40.970 --> 04:42.920
پس اینجا داریم به مدل دسترسی پیدا می‌کنیم.

04:42.920 --> 04:46.340
و می‌گویم "من یک مدل هستم و دارم رانندگی می‌کنم".

04:46.340 --> 04:48.590
پس همان کد را دوباره اجرا کنیم.

04:48.590 --> 04:52.700
و می‌بینیم "من یک A3 هستم و دارم رانندگی می‌کنم"، "من یک A3 A3 هستم".

04:52.700 --> 04:54.680
خب، از نظر گرامری درست نیست، اما هنوز هم خوب است.

04:54.680 --> 04:59.810
A3پس می‌گوید من یک 
 هستم و دارم رانندگی می‌کنم، پس این شیء حالا خودآگاه است.

04:59.980 --> 05:05.110
پس هر وقت رانندگی می‌کند، می‌داند که کدام شیء است.

05:05.110 --> 05:06.910
و حالا بخش دیوانه‌کننده می‌آید.

05:06.910 --> 05:07.750
بیایید به آن نگاه کنیم.

05:07.750 --> 05:09.100
بیایید یک ماشین دیگر ایجاد کنیم.

05:09.100 --> 05:21.520
پس ماشین، برای مثال myBMW، یک ماشین جدید خواهد بود و مدل آن i7، BMW i7 خواهد بود و یک 

05:21.520 --> 05:23.110
ماشین لوکس است.

05:23.110 --> 05:25.900
می‌گویم، خوب.trueپس اینجا 
 
05:25.900 --> 05:29.800
و حالا می‌گویم myBMW.drive.

05:29.800 --> 05:32.080
پس بیایید دوباره این را اجرا کنیم.

05:32.080 --> 05:36.430
و حالا می‌گوید "من یک i7 هستم و دارم رانندگی می‌کنم".

05:36.430 --> 05:41.650
پس ابتدا Audi رانندگی می‌کند و سپس BMW رانندگی می‌کند.

05:41.650 --> 05:46.690
پس حتی اگر از متد drive استفاده می‌کنم، این همان متد است، درست است.

05:46.690 --> 05:49.000
اما حالا رفتار متفاوتی دارد.

05:49.000 --> 05:51.130
خروجی متفاوتی به ما می‌دهد.

05:51.130 --> 06:01.630
چون کاری که این متد drive انجام می‌دهد این است که به ما اجازه می‌دهد از قابلیت‌های الگوی طراحی خود استفاده کنیم.

06:01.630 --> 06:09.130
یعنی از الگوی طراحی ماشین خود که در آن تعریف کردیم ماشین چه توانایی‌هایی دارد و چه ویژگی‌هایی دارد،

06:09.130 --> 06:15.790
چه propertyهایی دارد و چه قابلیت‌هایی مانند رانندگی، توقف، ترمز گرفتن یا تعمیر و غیره دارد.

06:15.790 --> 06:18.520
و حالا می‌توانیم از متدهای آن استفاده کنیم که سپس برای خود شیء خاص هستند، یا اطلاعاتی در مورد شیء نگه می‌دارند یا هر کاری که بخواهید انجام می‌دهند.

06:18.520 --> 06:28.150
در واقع، شما حالا کنترل کامل دارید و ما در ویدیو بعدی عمیق‌تر به آن می‌پردازیم،

06:28.150 --> 06:31.120
customerکه در آن از این موضوع با کلاس 
 هم استفاده خواهیم کرد.

06:31.120 --> 06:37.270
خوب.

06:37.270 --> 06:41.260
customer پس کلاس 
، که یک کلاس متفاوت خواهد بود، اما بیایید این کار را انجام دهیم و سپس درک بهتری از توانایی‌های متدها پیدا کنیم،

06:41.260 --> 06:42.130
مخصوصاً متدهایی که فقط برای استفاده مجدد از کد نیستند،

06:42.160 --> 06:47.890
بلکه واقعاً آن قطعه کدی که ایجاد می‌کنیم را در الگوی طراحی خود استفاده می‌کنیم و کاری بر اساس شیء که از آن استفاده می‌شود یا روی آن استفاده می‌شود انجام می‌دهد، به اصطلاح.

06:47.890 --> 06:56.380
پس ما آن را روی شیء BMW استفاده می‌کنیم و متد drive را فراخوانی می‌کنیم،

06:56.380 --> 07:03.010
و نتیجه متفاوتی نسبت به اجرای همان کار روی به ما می‌دهد، خوب.Audiشیء 
 

07:03.010 --> 07:04.600
پس این ویدیو به پایان رسید.

07:04.600 --> 07:11.080
در ویدیوی بعدی می‌بینمتان.

07:11.080 --> 07:13.870
BMWپس ما آن را روی شیء 
 استفاده می‌کنیم.

07:13.900 --> 07:15.400
را فراخوانی می‌کنیم.driveو متد 

07:15.400 --> 07:20.620
و نتیجه متفاوتی نسبت به اجرای همان کار روی Audiشیء 
 به ما می‌دهد، خوب.

07:20.620 --> 07:22.360
پس این ویدیو به پایان رسید.

07:22.360 --> 07:23.500
در ویدیوی بعدی می‌بینمتان.

