
WEBVTT

00:00.110 --> 00:01.010
خوش آمدید.

00:01.010 --> 00:04.970
در این ویدیو به انواع مختلف وراثت‌ها نگاه خواهیم کرد.

00:04.970 --> 00:09.620
و چهار نوع وجود دارد که C# به‌طور مستقیم از سه نوع پشتیبانی می‌کند.

00:09.620 --> 00:17.690
بنابراین نوع چهارم چیزی است که با استفاده از یک ترفند یا راه‌حل ممکن می‌شود.

00:17.690 --> 00:21.020
می‌توانید بگویید زیرا ما بعداً به آن خواهیم پرداخت.

00:21.020 --> 00:24.320
اما بیایید با سه نوع اول شروع کنیم زیرا آن‌ها ساده‌ترین هستند.

00:24.320 --> 00:28.820
پس شماره یک وراثتی است که ما در اینجا داریم.

00:28.820 --> 00:38.360
بنابراین در مثال ما، ما یک وراثت تک‌سطحی داریم که در آن کلاس حیوان داریم و سپس کلاس وراثت‌گیرنده سگ.

00:38.360 --> 00:39.350
این چیزی است که به آن وراثت تک‌سطحی می‌گویند که یک کلاس از یک کلاس دیگر وراثت می‌گیرد.

00:39.350 --> 00:46.070
اما هیچ کلاس دیگری از آن کلاس دیگر وراثت نمی‌گیرد.

00:46.070 --> 00:50.240
پس همین است.

00:50.240 --> 00:51.410
این عمق وراثتی است که داریم.

00:51.410 --> 00:54.710
با این حال، یک لایه دوم وجود دارد که به آن وراثت چندسطحی می‌گویند.

01:01.910 --> 01:12.530
بنابراین در مثال سگ ما، می‌توانیم یک حیوان/سگ دیگر داشته باشیم که می‌تواند بگوید کالی باشد، خوب؟

01:12.800 --> 01:13.160
خوب.

01:13.160 --> 01:15.500
و این یک سگ خواهد بود.

01:15.500 --> 01:23.570
حالا این کالی یا کالی مرزی از نوع سگ خواهد بود و اعضای خود را خواهد داشت.

01:23.570 --> 01:28.520
بنابراین ویژگی‌های خود، متدهای خود و غیره.

01:28.520 --> 01:34.700
خوب، بنابراین شاید یک کالی این متد را داشته باشد که بسیار فعال باشد، فقط به عنوان یک مثال.

01:34.700 --> 01:35.180
درست است؟

01:35.180 --> 01:39.320
بنابراین public void going nuts.

01:39.320 --> 01:47.600
حداقل این چیزی است که کالی من همیشه انجام می‌داد، فعال بود تا زمانی که او 8 یا 9 ساله شد.

01:47.600 --> 01:54.140
و حتی در آن زمان او بسیار فعال بود تا اینکه در حدود 12 یا 13 سالگی جراحی کرد.

01:54.140 --> 01:56.330
پس حالا این کالی ما در حال رفتن به جنون است.

02:03.020 --> 02:03.290
خوب.

02:03.290 --> 02:08.030
و کالی، به‌هرحال، یک نژاد از حیوان یا نژاد سگ است.

02:08.030 --> 02:15.860
حالا، در این مورد، کالی از سگ وراثت می‌گیرد که به این معنی است که کالی اکنون تمام ویژگی‌های

02:15.860 --> 02:18.170
حیوان و همچنین سگ را دارد.

02:18.170 --> 02:26.360
خوب، بنابراین آنچه که در اینجا داریم نوع دوم وراثت است که وراثت چندسطحی است

02:26.360 --> 02:32.420
که در آن فقط یک سطح ندارید، بلکه یک سطح دوم نیز دارید، شاید حتی یک سطح سوم.

02:32.420 --> 02:37.730
بنابراین آنچه که با استثناها دیدیم این است که لایه‌های دیگری نیز وجود دارد.

02:37.730 --> 02:45.860
بنابراین ما به استثناها نگاه کردیم که سپس این وراثت به نام یا این کلاس مشتق شده به نام استثنای سیستم داشت.

02:45.860 --> 02:47.360
و غیره.

02:47.360 --> 02:51.920
بنابراین تمام راه به استثنای حسابی و سپس استثنای تقسیم بر صفر.

02:51.920 --> 02:57.620
بنابراین این‌ها مثال‌هایی از وراثت چندسطحی بودند.

02:57.620 --> 03:05.960
حالا نوع دیگری وجود دارد که به آن وراثت سلسله‌مراتبی می‌گویند که در آن چندین کلاس از یک کلاس پایه وراثت می‌گیرند.

03:05.960 --> 03:07.580
بنابراین اگر این مثال کالی را حذف کنیم، خوب؟

03:11.540 --> 03:14.450
پس بیایید این را دورتر بگذاریم.

03:14.450 --> 03:24.680
و حالا ما فقط یک کلاس دیگر به نام گربه داریم که همچنین از حیوان وراثت می‌گیرد، که به این معنی است که حالا گربه نیز قادر به خوردن خواهد بود.

03:24.680 --> 03:27.380
خوب.

03:27.380 --> 03:28.250
حالا یک گربه این متد را خواهد داشت که میو میو کند.

03:35.780 --> 03:43.250
من مطمئن نیستم که چگونه به‌درستی آن را به انگلیسی بنویسم، اما بیایید در واقع، این را به آلمانی انجام دهیم.

03:43.250 --> 03:43.700
میو.

03:43.940 --> 03:45.890
این‌گونه است که آلمانی‌ها آن را می‌نویسند.

03:45.890 --> 03:48.740
پس گربه در حال میو میو کردن است.

03:48.860 --> 03:53.000
فکر می‌کنم میو W درست است، بیایید این‌گونه بنویسیم.

03:53.000 --> 03:58.670
میو میو کردن و زبان انگلیسی واقعاً در مورد تلفظ همه‌جا است.

03:58.670 --> 03:59.750
پس ما اینجا هستیم.

03:59.750 --> 04:06.890
حیوان گربه ما در حال وراثت است، بنابراین اینجا به آن وراثت سلسله‌مراتبی می‌گویند.

04:06.890 --> 04:15.680
بنابراین این سومین نوع وراثت است که در آن یک کلاس پایه حیوان دارید و چندین کلاس مشتق شده دارید.

04:15.680 --> 04:17.120
بنابراین سگ از حیوان مشتق می‌شود، گربه از حیوان مشتق می‌شود.

04:17.120 --> 04:21.620
و ممکن است خیلی بیشتر باشد.

04:21.620 --> 04:23.810
حالا شما می‌توانید به‌وضوح وراثت چندسطحی را با وراثت سلسله‌مراتبی ترکیب کنید.

04:23.810 --> 04:29.690
خوب.

04:29.690 --> 04:30.290
بنابراین ما اکنون یک گربه داریم که میو میو می‌کند.

04:30.290 --> 04:34.130
اما ما همچنین می‌توانیم یک سگی داشته باشیم که پارس می‌کند.

04:34.130 --> 04:37.790
اما در عین حال یک کالی داریم که پارس می‌کند و کارهای دیگری انجام می‌دهد و انواع مختلف گربه‌ها را داریم که ویژگی‌ها و اعضای مختلفی دارند، به‌اصطلاح، وقتی به مثال‌های کدنویسی ما برمی‌گردیم.

04:49.550 --> 04:51.620
خوب.

04:51.620 --> 04:52.430
بنابراین شما لایه‌ها یا انواع مختلف وراثت را دیده‌اید.

04:52.430 --> 04:58.880
حالا همان‌طور که گفتم.

04:58.880 --> 04:59.750
یک نوع چهارم وجود دارد و آن در C# ممکن نیست.

05:04.300 --> 05:11.170
زبان‌های برنامه‌نویسی دیگری وجود دارند که در آن ممکن است و به آن وراثت چندگانه می‌گویند،

05:11.170 --> 05:21.970
جایی که شما ویژگی یک کلاس را دارید که یک کلاس می‌تواند از چندین کلاس دیگر وراثت بگیرد.

05:22.000 --> 05:22.930
خوب.

05:22.960 --> 05:29.260
متأسفانه، همان‌طور که گفتم، این به‌طور مستقیم از طریق وراثت در C# ممکن نیست.

05:29.260 --> 05:34.360
و اینجاست که رابط‌ها وارد می‌شوند و رابط‌ها موضوعی برای روز دیگری هستند.

05:34.360 --> 05:40.630
بنابراین آن‌ها به‌طور قابل توجهی موضوعی پیچیده‌تر هستند، حداقل به نظر من.

05:40.630 --> 05:45.370
و ما بعداً به آن خواهیم پرداخت.

05:45.370 --> 05:46.870
اما این فقط برای شماست که بدانید.

05:46.870 --> 05:49.180
چهار نوع وجود دارد.

05:49.180 --> 05:50.530
سه تای آن‌ها به‌راحتی در C# قابل دسترسی یا قابل استفاده هستند بدون هیچ راه‌حلی.

05:50.530 --> 05:55.870
و نوع چهارمی که یک کلاس از چندین کلاس وراثت می‌گیرد، فقط از طریق رابط‌ها ممکن است.

05:55.870 --> 06:02.950
خوب، پس این پایان این ویدیو است.

06:02.980 --> 06:05.440
در ویدیو بعدی می‌بینمتان.
```
