در این مطلب، ویدئو #60 آموزش پایتون برای مبتدیان | روش Overloading و Method Overriding با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,340 –> 00:00:04,870
[موسیقی]
2
00:00:04,870 –> 00:00:07,149
به بیگانگان خوش آمدید نام من ایوان 20 است
3
00:00:07,149 –> 00:00:09,160
و بیایید شهرهای پایتون را
4
00:00:09,160 –> 00:00:11,080
در آخرین ویدیویی که در مورد
5
00:00:11,080 –> 00:00:13,389
بارگذاری بیش از حد اپراتور درست صحبت کردیم در نظر بگیریم که به سادگی به
6
00:00:13,389 –> 00:00:15,549
این معنی است که شما یا عملگر مانند به اضافه
7
00:00:15,549 –> 00:00:18,550
مینورها یا تقسیم یا ضرب دارید،
8
00:00:18,550 –> 00:00:20,470
بنابراین عملگر یکسان می ماند اما
9
00:00:20,470 –> 00:00:22,480
عملوندها تغییر میدهند که چرا نوع
10
00:00:22,480 –> 00:00:24,550
پارامترهایی که به آن ارسال میکنیم،
11
00:00:24,550 –> 00:00:27,070
وقتی میگویید به اضافه ما
12
00:00:27,070 –> 00:00:29,349
متد افزودن را درست صدا میزنیم، مثال تغییر میکند و آگاتا
13
00:00:29,349 –> 00:00:31,210
انواع مختلفی از پارامترها یا
14
00:00:31,210 –> 00:00:33,370
انواع مختلفی از آرگومانها را دریافت میکند، بنابراین
15
00:00:33,370 –> 00:00:35,680
بیش از حد بارگذاری میشود، بنابراین به سادگی به این معنی است که
16
00:00:35,680 –> 00:00:38,320
شما نام متد یکسان است اما آرگومان
17
00:00:38,320 –> 00:00:39,730
ها متفاوت هستند یا شاید تعداد
18
00:00:39,730 –> 00:00:42,010
آرگومان ها یا نوع آرگومان ها
19
00:00:42,010 –> 00:00:44,710
متفاوت باشد به همین ترتیب ما دو
20
00:00:44,710 –> 00:00:47,440
نوع دیگر در چندشکلی داریم یکی روش
21
00:00:47,440 –> 00:00:50,530
overloading و متد overriding پس به
22
00:00:50,530 –> 00:00:52,180
چه معناست بیایید اولی را شروع کنیم
23
00:00:52,180 –> 00:00:53,710
که روش بارگذاری بیش از حد
24
00:00:53,710 –> 00:00:56,620
اکنون زبان هایی مانند جاوا C شارپ یا هر
25
00:00:56,620 –> 00:00:58,450
زبان اوپس دیگری این
26
00:00:58,450 –> 00:01:00,850
مفهوم از بارگذاری متد را دارند که
27
00:01:00,850 –> 00:01:03,700
وجود ندارد. n Python اما دقیقاً
28
00:01:03,700 –> 00:01:05,619
چیست، بنابراین به سادگی به این معنی است که اگر یک
29
00:01:05,619 –> 00:01:07,060
کلاس دارید و در آن کلاس اگر دارید،
30
00:01:07,060 –> 00:01:08,890
بیایید بگوییم دو متد با همان نام
31
00:01:08,890 –> 00:01:11,499
اما پارامترها یا آرگومان های متفاوت
32
00:01:11,499 –> 00:01:13,719
که به عنوان مثال overloading متد نامیده می شود
33
00:01:13,719 –> 00:01:15,280
، فرض کنید اگر کلاس دانشجو دارید.
34
00:01:15,280 –> 00:01:16,600
و در کلاس دانش آموز اگر
35
00:01:16,600 –> 00:01:19,329
دو متد دارید فرض کنید متوسط بنابراین ما دو متد
36
00:01:19,329 –> 00:01:20,710
با نام یکسان داریم میانگین یکی دو
37
00:01:20,710 –> 00:01:23,020
پارامتر می گیرد یکی سه پارام
38
00:01:23,020 –> 00:01:25,060
ر این به دنبال اضافه بار متد است اما در
39
00:01:25,060 –> 00:01:25,600
40
00:01:25,600 –> 00:01:27,759
Pilot این مفهوم را ندا
41
00:01:27,759 –> 00:01:30,219
یم بنابراین نمی توانیم دو متد ایجاد کنیم. با
42
00:01:30,219 –> 00:01:32,530
ا همین نام، روش بعدی متد یا
43
00:01:32,530 –> 00:01:35,109
رانندگی است که به سادگی به این معنی است که شما دو
44
00:01:35,109 –> 00:01:36,969
متد با یک نام و
45
00:01:36,969 –> 00:01:40,119
تعداد پارامتر یا آرگومان یکسان دارید،
46
00:01:40,119 –> 00:01:42,219
بنابراین آیا میتوانیم دو
47
00:01:42,219 –> 00:01:43,689
متد به همان نام را در یک پارامتر
48
00:01:43,689 –> 00:01:45,130
در یک کلاس ایجاد کنیم. البته نه
49
00:01:45,130 –> 00:01:46,960
یک کلاس، اما بیایید بگوییم اگر
50
00:01:46,960 –> 00:01:48,999
مفهوم وراثت دارید، ما کلاس A
51
00:01:48,999 –> 00:01:51,819
و کلاس B داریم و هر دو کلاس
52
00:01:51,819 –> 00:01:53,409
یک متد با یک نام با
53
00:01:53,409 –> 00:01:56,439
پارامتر مشابه دارند. دوباره به عنوان overriding نامیده می
54
00:01:56,439 –> 00:01:58,119
شود، ما تأثیر آن را می بینیم، اجازه دهید
55
00:01:58,119 –> 00:01:59,560
ابتدا با روش overloading شروع کنیم،
56
00:01:59,560 –> 00:02:01,479
بنابراین اگر می خواهید به روش
57
00:02:01,479 –> 00:02:02,679
overloading دست پیدا کنید، کاری که من انجام خواهم داد این است که من
58
00:02:02,679 –> 00:02:04,420
فقط این روش ها را از اینجا حذف می کنم
59
00:02:04,420 –> 00:02:06,549
تا آن را ساده نگه دارم تا به یک روش منحصر به فرد دست پیدا کنیم.
60
00:02:06,549 –> 00:02:07,810
متد و کاملاً کار میکند،
61
00:02:07,810 –> 00:02:09,910
بیایید همه چیزهای اضافی را
62
00:02:09,910 –> 00:02:12,100
از اینجا حذف کنیم، فقط میخواهیم
63
00:02:12,100 –> 00:02:14,500
یک شیء شیطان ایجاد کنیم، یکی هم میخواهم
64
00:02:14,500 –> 00:02:17,420
دو عدد اضافه کنم، بنابراین باید یک متد ایجاد
65
00:02:17,420 –> 00:02:19,550
کنم و این پسر دو
66
00:02:19,550 –> 00:02:22,849
آرگومان میگیرد و میگوید a و B بنابراین من می خواهم
67
00:02:22,849 –> 00:02:24,500
دو مقدار اضافه کنم که این چیز پیچیده ای نیست،
68
00:02:24,500 –> 00:02:26,239
من می خواهم دو عدد اضافه کنم اگر می
69
00:02:26,239 –> 00:02:27,890
خواهید دو عدد را اضافه کنید، کاری که انجام می دهم این
70
00:02:27,890 –> 00:02:31,190
است که می گویم s برابر است با یک بعلاوه B و
71
00:02:31,190 –> 00:02:34,190
در انتها جایی که نوبت است همان چیزی است.
72
00:02:34,190 –> 00:02:35,569
ما می خواهیم در اینجا انجام دهیم، فقط می
73
00:02:35,569 –> 00:02:37,760
خواهیم مقدار s okay را برگردانیم و اگر می
74
00:02:37,760 –> 00:02:39,830
خواهید با آن کار کنید می گویید s1
75
00:02:39,830 –> 00:02:41,360
در واقع مقدار را چاپ می کنید و
76
00:02:41,360 –> 00:02:44,060
می گویید s1 dot sum و می خواهید
77
00:02:44,060 –> 00:02:46,010
دو عدد را در اینجا اضافه کنید. می گفت پنج و
78
00:02:46,010 –> 00:02:47,720
نه و ببینیم کار می کند یا نه g
79
00:02:47,720 –> 00:02:49,519
اجازه دهید این کد را اجرا کنیم و می توانید
80
00:02:49,519 –> 00:02:52,220
ببینید که ما 14 را فراخوانی کردیم، بنابراین بله، می توانیم یک
81
00:02:52,220 –> 00:02:54,230
متد در یک کلاس ایجاد کنیم که دو
82
00:02:54,230 –> 00:02:55,489
پارامتر را می گیرد و می توانیم دو
83
00:02:55,489 –> 00:02:58,400
پارامتر را ارسال کنیم، اگر شما بخواهید
84
00:02:58,400 –> 00:02:59,810
سه مقدار را ارسال کنید، آنها می خواهند پنج را پاس کنند چه می شود.
85
00:02:59,810 –> 00:03:02,660
نه و شش در حال حاضر این
86
00:03:02,660 –> 00:03:04,160
امکان پذیر نیست درست استفراغ در این کد
87
00:03:04,160 –> 00:03:06,890
شما با خطا مواجه می شوید زیرا
88
00:03:06,890 –> 00:03:08,780
سه پارامتر را پاس نمی کنید یا
89
00:03:08,780 –> 00:03:10,130
سه آرگومان را برای
90
00:03:10,130 –> 00:03:12,019
پذیرش تنها دو ارسال می کنید، بنابراین این کار نمی کند،
91
00:03:12,019 –> 00:03:14,000
یعنی باید ایجاد کنید. یک
92
00:03:14,000 –> 00:03:15,830
روش دیگر apalis برخی است که سه
93
00:03:15,830 –> 00:03:17,480
آرگومان را می گیرد که همان کاری است که ما در زبان های دیگر انجام می دهیم،
94
00:03:17,480 –> 00:03:20,269
اما در اینجا انجام نمی شود که در اینجا
95
00:03:20,269 –> 00:03:21,799
کاری که می توانید انجام دهید این است که می توانید از
96
00:03:21,799 –> 00:03:23,570
متغیر سوم نیز استفاده کنید که می گویید
97
00:03:23,570 –> 00:03:27,290
ببینید B و C دارید و به سادگی می گویید a به علاوه
98
00:03:27,290 –> 00:03:30,109
B به علاوه C درست است، بنابراین این کار می کند، بنابراین اگر
99
00:03:30,109 –> 00:03:31,940
من اینقدر سرد هستم و شما می توانید ببینید که
100
00:03:31,940 –> 00:03:34,130
20 دارید و این درست است، شما 20 دریافت خواهید کرد،
101
00:03:34,130 –> 00:03:36,320
بنابراین ما سه آرگومان را پاس می کنیم و
102
00:03:36,320 –> 00:03:37,790
سه آرگومان را می پذیریم،
103
00:03:37,790 –> 00:03:40,280
کار می کند اما اگر آرگومان سوم را قبول نکنم چه می
104
00:03:40,280 –> 00:03:41,720
شود من طرفدار هفت دو آرگومان هستم
105
00:03:41,720 –> 00:03:43,549
و حالا مشکل درست شروع می شود زیرا از
106
00:03:43,549 –> 00:03:45,799
شما انتظار می رود که
107
00:03:45,799 –> 00:03:48,290
آرگومان سوم را نیز بگذرانید چگونه این را حل کنیم تا این مورد
108
00:03:48,290 –> 00:03:50,450
را حل کنیم، می توانیم از مفهومی استفاده کنیم
109
00:03:50,450 –> 00:03:53,000
که در آن می گویید a برابر با هیچ است پس
110
00:03:53,000 –> 00:03:54,560
این یکی است. گزینه دیگر می
111
00:03:54,560 –> 00:03:56,780
توانیم از متغیری استفاده کنیم که آرگومان ها
112
00:03:56,780 –> 00:03:57,950
اگر به خاطر داشته باشید قبل از
113
00:03:57,950 –> 00:04:00,470
این ستاره و نام متغیر این کار را انجام داده ایم اما
114
00:04:00,470 –> 00:04:02,209
روی گزینه است که می توانید بگویید تمام مقادیر
115
00:04:02,209 –> 00:04:04,970
به طور پیش فرض هیچ هستند که به این معنی است که
116
00:04:04,970 –> 00:04:06,650
حتی اگر پاس نشود این را تقسیم کنید. آرگومانهای پیشفرض
117
00:04:06,650 –> 00:04:08,870
درست است، بنابراین حتی اگر
118
00:04:08,870 –> 00:04:10,549
مقدار را پاس نکنید، مقدار پیشفرض هیچ خواهد بود،
119
00:04:10,549 –> 00:04:12,590
بنابراین
120
00:04:12,590 –> 00:04:15,109
حتی اگر هیچ مثالی از مقدار را پاس ندهید، حتی اگر
121
00:04:15,109 –> 00:04:17,510
پنج و نه را پاس نکنید، همه
122
00:04:17,510 –> 00:04:19,339
مقادیر کار میکنند. تبدیل شدن به هیچ من می خواهم
123
00:04:19,339 –> 00:04:21,079
برخی از ارزش ها را پاس کنم می توانم بگویم پنج کاما نه
124
00:04:21,079 –> 00:04:23,150
من احتمالاً دو مقدار هستم درست بیایید
125
00:04:23,150 –> 00:04:24,530
سومی را شروع کنیم فرض کنیم می خواهم
126
00:04:24,530 –> 00:04:26,510
سه مقدار را پاس کنم پنج کاما نه کاما
127
00:04:26,510 –> 00:04:29,000
شش همه این مقادیر نشانه ای
128
00:04:29,000 –> 00:04:31,940
برای B خواهند بود و C محترمانه حق پس اگر
129
00:04:31,940 –> 00:04:34,820
من به a نه به B و 6
130
00:04:34,820 –> 00:04:36,470
به C خواهد رفت، بنابراین این مقادیر
131
00:04:36,470 –> 00:04:37,940
با هیچ جایگزین می شود، بنابراین هیچ کدام
132
00:04:37,940 –> 00:04:40,100
با این مقادیر جایگزین نمی شود، بنابراین اکنون
133
00:04:40,100 –> 00:04:42,260
که این را می دانم، بنابراین می توانیم به سادگی آن را اضافه کنیم،
134
00:04:42,260 –> 00:04:44,090
اما اگر دو عدد را پاس کنید چه می شود. این
135
00:04:44,090 –> 00:04:45,950
مورد را بررسی میکنید، بنابراین قبل از اضافه کردن
136
00:04:45,950 –> 00:04:48,230
، بررسی میکنید که آیا
137
00:04:48,230 –> 00:04:51,310
با هیچیک مساوی نیست، B برابر با هیچکدام نیست و
138
00:04:51,310 –> 00:04:54,290
C برابر با هیچکدام نیست، بنابراین اگر هیچکدام از
139
00:04:54,290 –> 00:04:56,540
آنها هیچکدام نبود، به سادگی به این معنی است
140
00:04:56,540 –> 00:04:58,520
که سه آرگومان را ارسال میکنید. درست است و
141
00:04:58,520 –> 00:04:59,750
اگر سه آرگومان را ارسال می کنید،
142
00:04:59,750 –> 00:05:01,250
این محاسبه ای است که ما باید برای آن انجام دهیم،
143
00:05:01,250 –> 00:05:03,919
می گویید S برابر با یک بعلاوه B به اضافه C است
144
00:05:03,919 –> 00:05:06,980
و می خواهید به عنوان خارج از آن اعلام کنید تا
145
00:05:06,980 –> 00:05:08,450
بتوانید از هر جایی از آن استفاده کنید، بنابراین
146
00:05:08,450 –> 00:05:10,310
می گویید S. به طور پیش فرض صفر است و شما این را
147
00:05:10,310 –> 00:05:12,440
دریافت کرده اید وگرنه اگر بگوییم اگر من
148
00:05:12,440 –> 00:05:14,24