در این مطلب، ویدئو #56 آموزش پایتون برای مبتدیان | سازنده در وراثت با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,270 –> 00:00:02,720
[موسیقی]
2
00:00:02,720 –> 00:00:05,279
به بیگانگان خوش آمدید نام من ایوان 20 است
3
00:00:05,279 –> 00:00:07,379
و بیایید این سری را در پایتون ادامه
4
00:00:07,379 –> 00:00:09,900
دهیم تا به این حد خوب که در مورد
5
00:00:09,900 –> 00:00:11,730
مفهوم اوپس صحبت کردیم و در
6
00:00:11,730 –> 00:00:14,009
حال حاضر ارث را دیدیم
7
00:00:14,009 –> 00:00:15,480
اگر قبلاً چند
8
00:00:15,480 –> 00:00:17,670
کلاس دارید و اگر می خواهید وراثت چیست و برای استفاده از
9
00:00:17,670 –> 00:00:20,369
ویژگیهای موجود، به سادگی
10
00:00:20,369 –> 00:00:22,890
کلاس B را میگویید که ویژگیها را
11
00:00:22,890 –> 00:00:26,430
از a میگیرد، بنابراین کلاس b a را به ارث میبرد یا
12
00:00:26,430 –> 00:00:28,769
میتوانید با مفهوم وراثت چندگانه پیش بروید
13
00:00:28,769 –> 00:00:31,349
که در آن یک کلاس
14
00:00:31,349 –> 00:00:33,090
از دو کلاس مختلف که همگی بیش از
15
00:00:33,090 –> 00:00:35,010
دو کلاس هستند درست است. در این حالت
16
00:00:35,010 –> 00:00:36,780
ما کلاس A کلاس B را داریم و سپس به
17
00:00:36,780 –> 00:00:39,360
علاوه C داریم که 20 است که دارای ویژگی 5 است
18
00:00:39,360 –> 00:00:41,850
اما همچنین a و B را به ارث می برد بنابراین
19
00:00:41,850 –> 00:00:44,040
می توانیم بگوییم که C دارای پنج ویژگی است به طوری
20
00:00:44,040 –> 00:00:45,930
که منطقی است حالا من چه کار کنم
21
00:00:45,930 –> 00:00:47,280
این ویدیو ما در مورد دو موضوع صحبت خواهیم کرد
22
00:00:47,280 –> 00:00:50,070
، اولی سازنده
23
00:00:50,070 –> 00:00:52,590
در وراثت چگونه رفتار می کند
24
00:00:52,590 –> 00:00:55,230
و همچنین در مورد ترتیب تفکیک روش صحبت خواهیم کرد
25
00:00:55,230 –> 00:00:57,899
همه چیزهایی که می توانید بگویید mr o پس بیایید
26
00:00:57,899 –> 00:00:59,850
زیر زمان سازنده را شروع کنیم،
27
00:00:59,850 –> 00:01:02,730
C ok را نادیده بگیریم پس بیایید می گوییم ما این C را نداریم، به
28
00:01:02,730 –> 00:01:05,489
آن قسمت توجه کنید و در
29
00:01:05,489 –> 00:01:07,380
واقع آن قسمت را برای زمان bin حذف می کنیم
30
00:01:07,380 –> 00:01:10,290
و این تمرکز فقط روی a و B است که
31
00:01:10,290 –> 00:01:13,740
در آن B یک ok را به ارث می برد، بنابراین در کل در
32
00:01:13,740 –> 00:01:15,689
B در حال حاضر 4 ویژگی داریم که
33
00:01:15,689 –> 00:01:17,939
اتفاق می افتد اگر من یک شی از a ایجاد کنم
34
00:01:17,939 –> 00:01:20,009
، فرض کنید اگر بگویم a1 برابر با
35
00:01:20,009 –> 00:01:22,200
سازنده a است، بنابراین درست کار می کند،
36
00:01:22,200 –> 00:01:23,549
بنابراین وقتی می گویید یک براکت که
37
00:01:23,549 –> 00:01:25,619
سازنده است، متدی را که
38
00:01:25,619 –> 00:01:27,720
اکنون در آن است، فراخوانی می کند، حتی اگر این کار را انجام دهید. آن
39
00:01:27,720 –> 00:01:29,369
را در جایی درست تعریف نکنید، اما اجازه دهید
40
00:01:29,369 –> 00:01:31,560
سازنده خودم یا در آن را در اینجا تعریف کنم،
41
00:01:31,560 –> 00:01:33,600
بنابراین من می گویم def و روش گرما را تعریف می کنم
42
00:01:33,600 –> 00:01:35,189
و این متر در آن
43
00:01:35,189 –> 00:01:38,009
یک چیز را چاپ می کند، بنابراین اجازه دهید بگویم چاپ در یک
44
00:01:38,009 –> 00:01:40,140
در آن هیچ چیز نیست. ما در اینجا هیچ کار
45
00:01:40,140 –> 00:01:41,820
اضافی انجام نمی دهیم فقط
46
00:01:41,820 –> 00:01:44,280
در یک چاپ می کنیم که همین الان است به نظر شما
47
00:01:44,280 –> 00:01:45,659
چه چیزی را چاپ می کند البته ما
48
00:01:45,659 –> 00:01:47,640
در حال ایجاد یک شیء راست هستیم
49
00:01:47,640 –> 00:01:49,920
بنابراین فقط یک C را با شیء
50
00:01:49,920 –> 00:01:51,869
a اجرا می کند که شما نمی توانید به ویژگی های B ok دسترسی داشته باشید، بنابراین
51
00:01:51,869 –> 00:01:54,119
حتی اگر من مثالی را امتحان کنم اگر بگویم a1 dot
52
00:01:54,119 –> 00:01:56,640
شما فقط می توانید به fea دسترسی داشته باشید ture 1 و
53
00:01:56,640 –> 00:01:58,469
ویژگی 2 اما بله اگر یک شی
54
00:01:58,469 –> 00:02:00,600
از B دارید می توانید به تمام ویژگی
55
00:02:00,600 –> 00:02:03,000
ها یا ویژگی های a و B دسترسی داشته باشید زیرا
56
00:02:03,000 –> 00:02:06,420
b یک زیر کلاس است و a superclass است و همانطور
57
00:02:06,420 –> 00:02:08,729
که اشاره کردم زیر کلاس می تواند به همه
58
00:02:08,729 –> 00:02:10,410
ویژگی های سوپرکلاس دسترسی داشته باشد اما این نه
59
00:02:10,410 –> 00:02:12,330
عاقلانه برعکس درست است که یک سوپرکلاس نمی تواند
60
00:02:12,330 –> 00:02:12,750
به
61
00:02:12,750 –> 00:02:14,400
ویزاهای ساب کلاس دسترسی پیدا کند، حتی یکی از آنها که
62
00:02:14,400 –> 00:02:15,930
زیر کلاس هستند، خوب است، حالا جالب است
63
00:02:15,930 –> 00:02:18,720
چه می شود اگر من شیء B را ایجاد کنم، بنابراین
64
00:02:18,720 –> 00:02:20,310
به a در اینجا ایراد نمی گیرم که
65
00:02:20,310 –> 00:02:22,110
چیزهای P را بگذارم مهم نیست چه چیزی یک 1 یا B است
66
00:02:22,110 –> 00:02:24,540
1 مهم است اگر من یک شی ایجاد کنم B
67
00:02:24,540 –> 00:02:26,400
سازنده را صدا می کند این
68
00:02:26,400 –> 00:02:27,660
سوال است زیرا ما
69
00:02:27,660 –> 00:02:29,280
شیء a را دریافت نمی کنیم تقریباً B
70
00:02:29,280 –> 00:02:32,280
را ایجاد می کنیم آیا پل سازنده a
71
00:02:32,280 –> 00:02:34,260
این سوال است اجازه دهید این را اجرا کنم کد و درست
72
00:02:34,260 –> 00:02:36,330
کار می کند، بنابراین حتی اگر
73
00:02:36,330 –> 00:02:38,250
شی B را داشته باشید، باز هم
74
00:02:38,250 –> 00:02:41,640
سازنده یک حق را به همین شکل صدا می کند، اما
75
00:02:41,640 –> 00:02:44,130
اگر سازنده خود را
76
00:02:44,130 –> 00:02:46,470
داشته باشید، اگر مثال متد init خود را داشته باشید در
77
00:02:46,470 –> 00:02:48,360
B دیده می شود، چه می شود. آن را در آن حق و آن را
78
00:02:48,360 –> 00:02:49,980
ندارد این چیزی است که بالا می رود، بنابراین اجازه دهید
79
00:02:49,980 –> 00:02:52,440
تکرار کنم زیرا ما در آن در
80
00:02:52,440 –> 00:02:55,740
B نداریم، به همین دلیل است که به a می رود، اما
81
00:02:55,740 –> 00:02:58,020
اگر قبلاً آن را با شما داشته باشید چه می شود، بنابراین من
82
00:02:58,020 –> 00:03:00,330
به سادگی اینجا را در B کپی می کنم تا هر
83
00:03:00,330 –> 00:03:02,459
دو در آن باشند. اما پس از آن، من
84
00:03:02,459 –> 00:03:05,700
در B در آن درست چاپ خواهم کرد، بنابراین در a از طریق چاپ در
85
00:03:05,700 –> 00:03:07,980
a در آن و B در حال چاپ در be in
86
00:03:07,980 –> 00:03:10,230
آن هستیم، بنابراین این منطقی است که اکنون ویفرتر از
87
00:03:10,230 –> 00:03:11,880
این کد چه چیزی را چاپ خواهد کرد.
88
00:03:11,880 –> 00:03:14,700
در آن یا در B در
89
00:03:14,700 –> 00:03:16,230
آن البته درست است اگر شما آن را از B برش می دهید
90
00:03:16,230 –> 00:03:18,810
، فقط باید شروع P را
91
00:03:18,810 –> 00:03:20,430
درست صدا بزند و ببینیم که آیا این کار می کند و
92
00:03:20,430 –> 00:03:22,470
روی این کد آزمایش می شود و آیا ما خوب هستیم،
93
00:03:22,470 –> 00:03:24,989
بنابراین وقتی کد را اجرا می کنید می توانید ببینید که ما
94
00:03:24,989 –> 00:03:27,750
فقط وارد be in آن شدیم، به این معنی که اگر
95
00:03:27,750 –> 00:03:30,180
ابتدا یک شی از B ایجاد کنید،
96
00:03:30,180 –> 00:03:33,540
سعی می کند شروع B را پیدا کند، اگر اینطور نیست،
97
00:03:33,540 –> 00:03:35,700
سپس برای یک ok می رود، این
98
00:03:35,700 –> 00:03:37,769
نکته ای است که شما باید به خاطر بسپارید، اما چه می شود اگر شما
99
00:03:37,769 –> 00:03:40,080
همچنین می خواهید ادم احمق را صدا بزنید آیا
100
00:03:40,080 –> 00:03:42,330
ممکن است منظورم این است که اگر برعکس B
101
00:03:42,330 –> 00:03:45,930
بگیرم آیا می توانم در آن هر دو
102
00:03:45,930 –> 00:03:48,570
کلاس یعنی a و B را صدا کنم به طور پیش فرض
103
00:03:48,570 –> 00:03:50,220
فقط b را صدا می کند. درست است اگر
104
00:03:50,220 –> 00:03:53,160
بخواهم a را هم صدا بزنم و این خوب است که ما یک
105
00:03:53,160 –> 00:03:54,930
روش ترتیب کلمات کلیدی بسیار ویژه داریم که
106
00:03:54,930 –> 00:03:57,750
می توانید بگویید و آن فوق العاده است، بنابراین با
107
00:03:57,750 –> 00:03:59,760
کمک super بنابراین می توانید بگویید super و
108
00:03:59,760 –> 00:04:02,280
این یک روش است، بنابراین شما خواهید گفت
109
00:04:02,280 –> 00:04:04,980
super در لحظه ای که می گویید super، می
110
00:04:04,980 –> 00:04:07,170
توانید به تمام ویژگی های کلاس والد دسترسی داشته باشید،
111
00:04:07,170 –> 00:04:08,820
بنابراین نقطه فوق العاده را در آن دریافت کنید،
112
00:04:08,820 –> 00:04:10,200
بنابراین کاری که ما انجام می دهیم این است که سعی
113
00:04:10,200 –> 00:04:13,290
می کنیم یک متد init کلاس A را فراخوانی کنیم ت