نفصل تنفيذ الجسم عن إنشاء الفئة. [1] [2]
الخلاصة السريعة
التنفيذ والتجريد
التجريد لا يفرض جسمًا فارغًا. [1] [2]
Base.run تملك تنفيذًا يعيد bud. [1] [2]
إنشاء Base يثير TypeError رغم وجوده. [1] [2]
استدعاء من الابن
from abc import ABC,abstractmethod
class Base(ABC):
@abstractmethod
def run(self):return "bud"
class Child(Base):
def run(self):
return super().run()+" leaf"
try:Base()
except TypeError:print("TypeError")
print(Child().run())Child.run تستدعي super().run() وتضيف leaf. [1] [2]
الناتج والنطاق
النتيجة bud leaf؛ وراثة عادية على 3.12.14. [1] [2]

المراجع
- Python 3.12: abstractmethod body
- CPython 3.12.14: abstract marking
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
