abstract method

پرسیده شده
فعالیت 1045 روز پیش
دیده شده 598 بار
0

سلام دوستان

میدونیم که abstract method متدی هست که در یک کلاس abstract تعریف میشه و هیچ بدنه ای نداره.باید در subclass ها override بشه وگرنه به ارور میخوریم.سوال من این هست که دلیل و منطق استفاده از abstract method چیه؟چرا باید یک متد رو در کلاس والد تعریف کنیم و خالی بگذاریم وقتی قراره بدنه اون در کلاس های فرزند تعریف بشه؟

فایل پیوست

ورهرام خوب یاری
ورهرام خوب یاری

18 خرداد 00

1
حذف شده

سلااااااااااااااااااااام

من در موردش ۲ تا سرچ کردم و حدود ۱۰ الی ۱۵ تا لینک رو باز کردم و خوندم.

سرچ هایی که کردم:

python abstract method

python why use abstract method

فک کردم شاید تو اینترنت نکته جدیدی در مورد abstract و abstract method یاد بگیرم ولی نکته جدیدی پیدا نکردم و فقط اهمیتش و استفاده اش رو بیشتر درک کردم.

 

چرا از abstract class و abstract method استفاده کنیم؟

- An abstract class can be considered as a blueprint for other classes.

یک abstract class رو میشه بعنوان blueprint ای (به نقشه ساختمون میگن blueprint که با استفاده ازش ساختمون رو میسازن) برای کلاس های دیگه در نظر گرفت

 

- When we want to provide a common interface for different implementations of a component, we use an abstract class. 

وقتی ما میخواهیم یه interface عمومی ایجاد کنیم برای پیاده سازی های مختلف یک کامپوننت، ما از یه abstract class استفاده میکنیم.

By defining an abstract base class, you can define a common Application Program Interface(API) for a set of subclasses.

با تعریف یه abstract class پایه، شما میتونید یه API عمومی برای یه دسته از زیر کلاس ها (subclasses) تعریف کنید.

(توضیح اینکه interface چیه؟ یا کامپوننت چیه؟ رو لطفا سرچ کنید. برای تعریف interface چند تا لینک پایین میتونن مفید باشن.)

Interfaces in Object Oriented Programming Languages

What is the definition of “interface” in object oriented programming

Interfaces in Java

 

- This capability is especially useful in situations where a third-party is going to provide implementations, such as with plugins

این قابلیت (abstract class, abstract method) مخصوصا در مواقعی که ابزار شخص ثالث ای قراره پیاده سازی ای رو براتون فراهم کنه، کاربرد خوبی داره.

 

- can also help you when working in a large team or with a large code-base where keeping all classes in your mind is difficult or not possible. 

این قابلیت (abstract class, abstract method)، همچنین وقتی دارید تو یه تیم بزرگ یا با یه عالمه کد کار میکنید، که به یاد داشته همه کلاس ها تو حافظه تون سخته یا غیر ممکنه، کمک تون میکنه.

 

- استفاده بجا ازش باعث میشه که کدها و پروژه ها تون تمیز تر باشن و نگهداری و توسعه شون برای شما و هم تیمی ها تون آسون تر بشه.

 

امیدوارم تونسته باشم راهنمایت کنم. اگر باز سوالی داشتی در خدمتم.

زیاد کد بزن، زیاد کد بخون و زیاد سرچ کن :)

 

منابع:

Abstract Classes in Python

How to Write Cleaner Python Code Using Abstract Classes

Abstract Base Classes in Python: Fundamentals for Data Scientists

Implementing an Interface in Python (توصیه نمیکنم بخونیش ممکنه سر در گمت کنه)
 

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

19 خرداد 00

جلسه abstraction و polymorphism