در این مطلب، ویدئو کلاس Abstract و Abstract Method در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:28
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,150 –> 00:00:03,560
[Music]
2
00:00:03,560 –> 00:00:06,000
به بیگانگان خوش آمدید در این ویدیو
3
00:00:06,000 –> 00:00:07,980
در مورد کلاس های انتزاعی و
4
00:00:07,980 –> 00:00:10,050
روش های انتزاعی در پایتون صحبت خواهیم کرد، حالا اول از همه
5
00:00:10,050 –> 00:00:12,360
پایتون به طور پیش فرض از کلاس های انتزاعی پشتیبانی نمی کند
6
00:00:12,360 –> 00:00:14,219
شما این پشتیبانی را به صورت
7
00:00:14,219 –> 00:00:16,440
غیر مستقیم نخواهید دید اما ما یک ماژول داریم که
8
00:00:16,440 –> 00:00:18,660
مدل ABC است. که اکنون میتوانیم از آن برای
9
00:00:18,660 –> 00:00:21,210
دستیابی به کلاسهای انتزاعی استفاده کنیم ABC
10
00:00:21,210 –> 00:00:24,150
مخفف کلاسهای پایه انتزاعی یا برخی از نامهای
11
00:00:24,150 –> 00:00:26,279
درست است، بنابراین میتوانیم از آن برای ایجاد
12
00:00:26,279 –> 00:00:28,019
کلاسهای انتزاعی خودمان استفاده کنیم، حالا چگونه این کار را انجام
13
00:00:28,019 –> 00:00:29,880
دهیم که بسیار ساده است، اجازه دهید PyCharm را باز کنیم
14
00:00:29,880 –> 00:00:31,769
در واقع چیزی که داریم این است که ما داریم. برای پاسخ به
15
00:00:31,769 –> 00:00:34,110
دو سوال در اینجا، اولی این است
16
00:00:34,110 –> 00:00:36,180
که کلاس انتزاعی چیست و چرا به آن نیاز داریم،
17
00:00:36,180 –> 00:00:38,219
بنابراین با چه شروع می کنیم و سپس
18
00:00:38,219 –> 00:00:42,210
بحث می کنیم که چرا به آن نیاز داریم خوب است، بنابراین
19
00:00:42,210 –> 00:00:43,980
آن کلاس مسطح چیست، بنابراین اساساً بیایید
20
00:00:43,980 –> 00:00:47,039
یک کلاس در اینجا ایجاد کنیم و ما می تواند یک
21
00:00:47,039 –> 00:00:49,620
نام کلاس ایجاد کند مثلا کامپیوتر و
22
00:00:49,620 –> 00:00:50,700
البته کامپیوتر می تواند چندین
23
00:00:50,700 –> 00:00:53,309
متد یا چندین تابع در اینجا داشته باشد و من
24
00:00:53,309 –> 00:00:54,750
می گویم خوب این یک کلاس کامپیوتر است
25
00:00:54,750 –> 00:00:56,280
و در این کلاس می توانم چند متد ایجاد کنم
26
00:00:56,280 –> 00:00:58,079
حالا چگونه متد را ایجاد کنیم.
27
00:00:58,079 –> 00:00:59,879
ry simple می گوییم def و سپس
28
00:00:59,879 –> 00:01:01,770
بیایید روشی ایجاد کنیم که فرضاً
29
00:01:01,770 –> 00:01:04,769
در مقابل به عنوان یک فرآیند محاسبه شده درست است و
30
00:01:04,769 –> 00:01:07,799
سپس می توانم اینجا چاپ کنم می توانم بگویم
31
00:01:07,799 –> 00:01:11,760
در حال اجرا است پیدا کردن هیچ چیز جالبی نیست، بیایید آن را ساده نگه داریم
32
00:01:11,760 –> 00:01:13,710
و VCR می گوید در حال اجرا در اینجا است،
33
00:01:13,710 –> 00:01:15,000
بنابراین شما می توانید تشویق کنید و اینگونه است
34
00:01:15,000 –> 00:01:17,159
که شما یک متد را دریافت می کنید، چگونه می توانید یک متد بسازید
35
00:01:17,159 –> 00:01:19,650
، بنابراین یک متد یک متد نام
36
00:01:19,650 –> 00:01:22,170
داشته باشد با پارامترهایی که X می
37
00:01:22,170 –> 00:01:24,689
پذیرد یا آرگومان می کند و سپس متد
38
00:01:24,689 –> 00:01:27,299
نیز یک بدنه دارد، بنابراین این بدنه در اینجا این
39
00:01:27,299 –> 00:01:29,520
عبارت چاپی یک بدنه است. درست است، بنابراین این
40
00:01:29,520 –> 00:01:31,170
بدنه می تواند چندین دستور داشته باشد،
41
00:01:31,170 –> 00:01:33,210
می توانیم بگوییم که می توانیم در آنجا پردازش انجام دهیم،
42
00:01:33,210 –> 00:01:34,860
می توانیم مقادیر را بگیریم، می توانیم متغیرها
43
00:01:34,860 –> 00:01:37,079
را بگیریم و می توانیم برخی از عملیات ها را انجام دهیم،
44
00:01:37,079 –> 00:01:38,759
اما برای ساده نگه داشتن آن، این روش اکنون
45
00:01:38,759 –> 00:01:42,030
فقط یک عبارت دارد، هر زمان که
46
00:01:42,030 –> 00:01:43,530
روش شما داشته باشد. یک بدن یک روش معمولی است،
47
00:01:43,530 –> 00:01:46,740
بنابراین و متدهای معمولی در
48
00:01:46,740 –> 00:01:49,590
کلاس های عادی هستند، اما اگر نخواهم
49
00:01:49,590 –> 00:01:51,479
چیزی در این متد ذکر کنم،
50
00:01:51,479 –> 00:01:53,939
می خواهم آن را خالی نگه دارم، فقط می خواهم
51
00:01:53,939 –> 00:01:56,130
این روش را اعلام کنم اکنون این یک روش
52
00:01:56,130 –> 00:01:57,600
اعلامی است. y به این معنی است که
53
00:01:57,600 –> 00:02:00,390
در حال حاضر بدنه ای ندارد، روشی که می توانید
54
00:02:00,390 –> 00:02:02,009
یک متد را اعلام کنید با گفتن مسیرها است، بنابراین
55
00:02:02,009 –> 00:02:03,719
وقتی می گویید آن را پاس کنید، به
56
00:02:03,719 –> 00:02:05,549
این معنی است که من چیزی در داخل این متد ندارم،
57
00:02:05,549 –> 00:02:08,340
اکنون این متدها که
58
00:02:08,340 –> 00:02:10,830
فقط یک اعلان دارد اما
59
00:02:10,830 –> 00:02:14,070
تعریف ندارد ما آنها را به عنوان متدهای انتزاعی درست می نامیم
60
00:02:14,070 –> 00:02:16,800
و سپس کلاسی
61
00:02:16,800 –> 00:02:18,510
که متدهای
62
00:02:18,510 –> 00:02:20,340
انتزاعی داشته باشد، کلاس های انتزاعی نامیده می شود، اما این نوع
63
00:02:20,340 –> 00:02:21,960
مفهوم در زبان دیگر وجود دارد
64
00:02:21,960 –> 00:02:23,610
و همچنین خواندن جاوا در سی شارپ است
65
00:02:23,610 –> 00:02:25,770
اما در زبان پانل کاملاً متفاوت است
66
00:02:25,770 –> 00:02:27,750
زیرا پایتون به طور پیش فرض
67
00:02:27,750 –> 00:02:30,060
از کلاس های انتزاعی پشتیبانی نمی کند اکنون اگر
68
00:02:30,060 –> 00:02:31,290
می خواهید یک کلاس انتزاعی بسازید باید کاری انجام دهید
69
00:02:31,290 –> 00:02:34,050
و آن چیزی به این دلیل است
70
00:02:34,050 –> 00:02:35,340
که یک تعریف دیگر وجود دارد یک
71
00:02:35,340 –> 00:02:36,900
چیز دیگر برای کلاس انتزاعی وجود دارد که نمی توانید
72
00:02:36,900 –> 00:02:39,960
یک شی از آن ایجاد کنید، به عنوان مثال اگر من
73
00:02:39,960 –> 00:02:44,870
سعی کنم شیء کامپیوتر را در اینجا دریافت کنم و خوب است
74
00:02:44,870 –> 00:02:48,300
و اگر بگویم comm dot process می توانید
75
00:02:48,300 –> 00:02:49,770
ببینید هیچ خطایی وجود ندارد حداقل من این کار را
76
00:02:49,770 –> 00:02:52,230
انجام دادم وقتی که این را تایپ کردم اگر این
77
00:02:52,230 –> 00:02:53,850
کد را داشته باشم کاملاً wo است. rks خروجی وجود ندارد
78
00:02:53,850 –> 00:02:55,290
البته زیرا ما می گوییم
79
00:02:55,290 –> 00:02:58,170
پاس این است که ما می توانیم
80
00:02:58,170 –> 00:03:00,630
این شی را دریافت کنیم زیرا این یک
81
00:03:00,630 –> 00:03:02,730
کلاس انتزاعی نیست اما چگونه می توان آن را
82
00:03:02,730 –> 00:03:04,530
کلاس انتزاعی ساخت و برای آن باید
83
00:03:04,530 –> 00:03:06,660
یک ماژول وارد کنید تا کدام یک باشد. ما
84
00:03:06,660 –> 00:03:08,760
باید وارد کنیم، بنابراین شما باید ABC را وارد کنید و
85
00:03:08,760 –> 00:03:10,170
در این مورد باید فقط دو چیز را وارد
86
00:03:10,170 –> 00:03:13,110
کنید یکی ABC است که کلاس های پایه انتزاعی است
87
00:03:13,110 –> 00:03:16,050
و باید متد انتزاعی متد را نیز وارد کنید،
88
00:03:16,050 –> 00:03:18,870
بنابراین
89
00:03:18,870 –> 00:03:22,080
این کلاس را به عنوان زیر کلاس ABC تبدیل می کند. که
90
00:03:22,080 –> 00:03:24,480
این هم تبدیل به کلاس انتزاعی می شود، پس اکنون
91
00:03:24,480 –> 00:03:26,760
این کلاس انتزاعی است و سپس این
92
00:03:26,760 –> 00:03:28,860
روش باید متد انتزاعی باشد،
93
00:03:28,860 –> 00:03:30,690
بنابراین می گوییم دکوراتور در اینجا خواهد بود
94
00:03:30,690 –> 00:03:34,890
که یک روش انتزاعی عالی است، اکنون با استفاده از
95
00:03:34,890 –> 00:03:36,870
دکوراتور می توان اشاره کرد که این
96
00:03:36,870 –> 00:03:39,090
روند یک روش است که انتزاعی است. بنابراین شما در حال
97
00:03:39,090 –> 00:03:40,680
صحبت با یک کامپایلر در مورد آن
98
00:03:40,680 –> 00:03:42,380
هستید، وقتی این کار را انجام دادید و اگر این کد را اکنون اجرا
99
00:03:42,380 –> 00:03:45,270
کنید، می بینید که ما با یک خطا مواجه شدیم، به سادگی
100
00:03:45,270 –> 00:03:47,400
می گوید که کلاس انتزاعی آنی
101
00:03:47,400 –> 00:03:49,440
که اکنون مهم است فیلمبرداری بعد از
102
00:03:49,440 –> 00:03:51,510
کلاس چکیده شما را انجام دهید. یک هدف عالی از
103
00:03:51,510 –> 00:03:53,790
آن نیست، زیرا ما متدی داریم
104
00:03:53,790 –> 00:03:55,230
که اکنون تعریف نشده است
105
00:03:55,230 –> 00:03:56,310
، چیزی که باید به خاطر داشته باشید
106
00:03:56,310 –> 00:03:58,140
اکنون می توان چندین کلاس را در
107
00:03:58,140 –> 00:03:59,700
اینجا ایجاد کرد.
108
00:03:59,700 –> 00:04:01,739
109
00:04:01,739 –> 00:04:03,330
چون یک کلاس انتزاعی است و یک
110
00:04:03,330 –> 00:04:05,760
متد دارد که تعریف نشده است که
111
00:04:05,760 –> 00:04:07,950
اعلام شده است، بنابراین کاری که میتوانیم انجام دهیم این است که
112
00:04:07,950 –> 00:04:09,239
میتوانیم یک کلاس جدید ایجاد کنیم که لپتاپ است،
113
00:04:09,239 –> 00:04:11,160
زیرا وقتی میگویید
114
00:04:11,160 –> 00:04:13,230
کامپیوتر فقط یک اصطلاح فانتزی است، درست است
115
00:04:13,230 –> 00:04:14,940
زیرا ما کامپیوتر نمیخریم. خرید لپ تاپ ما چیزهای
116
00:04:14,940 –> 00:04:17,668
اضافی را می خریم که تلفن می خریم بنابراین این لپ تاپ
117
00:04:17,668 –> 00:04:20,000
در واقع یک زیر کلاس از یک کامپیوتر است و
118
00:04:20,000 –> 00:04:22,990
سپس در اینجا می توانم آن روش را تعریف کنم اما
119
00:04:22,990 –> 00:04:24,639
اگر اکنون روش ها را تعریف نکنم
120
00:04:24,639 –> 00:04:26,979
در این مورد اگر بخواهم
121
00:04:26,979 –> 00:04:29,680
شیء لپ تاپ ایجاد کنم چه اتفاقی می افتد. می توانید ببینید اگر
122
00:04:29,680 –> 00:04:32,830
در لپ تاپ می گویم به نظر شما چه کار می کند
123
00:04:32,830 –> 00:04:34,599
بنابراین قبل از ادامه می توانید ویدیو را مکث
124
00:04:34,599 –> 00:04:36,370
کنید و در قسمت نظرات می توانید پاسخ دهید به
125
00:04:36,370 –> 00:04:37,720
نظر شما چه کار می کند
126
00:04:37,720 –> 00:04:40,060
یا نه زیرا این بار من
127
00:04:40,060 –> 00:04:43,509
شیء کامپیوتر دریافت نمی کنم دارم میگیرم g
128
00:04:43,509 –> 00:04:45,940
شی لپ تاپ کار می کند و بعد
129
00:04:45,940 –> 00:04:47,889
من بعداً من با چیزی تماس نمی
130
00:04:47,889 –> 00:04:52,120
گیرم فقط همین الان دارم شیء را ایجاد می
131
00:04:52,120 –> 00:04:54,280
کنم و بیایید اجرا کنیم امیدوارم
132
00:04:54,280 –> 00:04:55,690
پاسخ داده باشید و می توانید ببینید که ما
133
00:04:55,690 –> 00:04:57,430
هر کدام را دریافت می کنیم.
134
00:04:57,430 –> 00:04:59,560
لپتاپ کلاس انتزاعی را با
135
00:04:59,560 –> 00:05:01,599
روشهای انتزاعی نمونهسازی نکنید حالا که این یک چیزی است که
136
00:05:01,599 –> 00:05:04,060
لپتاپ در حال ارث بردن کامپیوتری است که در آن
137
00:05:04,060 –> 00:05:05,949
شما یک روش انتزاعی دارید، بنابراین
138
00:05:05,949 –> 00:05:08,500
اجباری است که شما آن روش را تعریف کنید،
139
00:05:08,500 –> 00:05:10,150
در غیر این صورت حتی این کلاس که
140
00:05:10,150 –> 00:05:12,880
لپتاپ است، کلاس انتزاعی است، بنابراین در این مورد.
141
00:05:12,880 –> 00:05:14,710
من به سادگی می گویم def و روش را تعریف می کنم
142
00:05:14,710 –> 00:05:19,949
و سپس می گویم پردازش
143
00:05:20,159 –> 00:05:23,310
در حال اجرا است که چیز جالبی نیست
144
00:05:23,310 –> 00:05:25,569
این کار خواهد کرد بیایید اکنون آن را امتحان کنیم
145
00:05:25,569 –> 00:05:27,610
زیرا اکنون دارم آن روش را تعریف می کنم بنابراین
146
00:05:27,610 –> 00:05:30,070
اگر بگویم اجرا و کار کرد فقط
147
00:05:30,070 –> 00:05:31,630
این است که من m این فرآیند را دنبال نمیکنید
148
00:05:31,630 –> 00:05:33,610
، به همین دلیل شما هیچ خروجی ندارید و
149
00:05:33,610 –> 00:05:36,219
میتوانید این کار را انجام دهید، میتوانیم بگوییم فرآیند نقطه مرکب
150
00:05:36,219 –> 00:05:38,259
حداقل من میتوانم مقداری خروجی را
151
00:05:38,259 –> 00:05:40,509
در کنسول ببینم و خروجی را ضبط کنم
152
00:05:40,509 –> 00:05:42,969
که عالی است، بنابراین این کار میکند، بنابراین شما
153
00:05:42,969 –> 00:05:44,620
میتوانید ما را ببینید. می تواند یک کلاس و آن
154
00:05:44,620 –> 00:05:46,780
کلاس همه متدها را درست پیادهسازی میکند
155
00:05:46,780 –> 00:05:49,180
که مهم است و
156
00:05:49,180 –> 00:05:51,130
اگر نتوانید همه متدها را پیادهسازی کنید
157
00:05:51,130 –> 00:05:53,380
همه متدهای انتزاعی با
158
00:05:53,380 –> 00:05:56,110
خطا مواجه میشوید حالا این همان کلاس اضافی است که
159
00:05:56,110 –> 00:05:58,180
کلاس انتزاعی حداقل یک
160
00:05:58,180 –> 00:06:01,409
متد انتزاعی خواهد داشت که مهم است.
161
00:06:01,409 –> 00:06:04,300
خوب حالا این خوب است این چیزی است که
162
00:06:04,300 –> 00:06:05,800
شما می گویید خوب این
163
00:06:05,800 –> 00:06:08,229
مفهوم است و او کار می کند اما
164
00:06:08,229 –> 00:06:09,490
این
165
00:06:09,490 –> 00:06:11,080
چه فایده ای دارد حالا هر مفهومی که تا به حال یاد گرفته اید در مورد این فکر کنید
166
00:06:11,080 –> 00:06:12,759
همه چیز منطقی است چرا می
167
00:06:12,759 –> 00:06:14,620
دانید چگونه از حلقه ها استفاده