التنفيذ الجديد يحتاج تحديث حالة التجريد. [1] [2]
الخلاصة السريعة
المثال
from abc import (ABC, abstractmethod,
update_abstractmethods)
class Task(ABC):
@abstractmethod
def run(self): pass
Task.run=lambda self:'bud'
try:
Task()
except TypeError:
print('TypeError')
update_abstractmethods(Task)
print(Task().run())الدالة وحالة الفئة
المصدر هنا يعيد حساب أسماء الدوال المجردة من الفئة وأصولها، ثم يضبط الحالة. تعيين الدالة وحده لا يجري هذا الحساب. المخرجان TypeError ثم bud؛ نستعمل الدالة الجديدة بعد التحديث. [1] [2]

النطاق
نفحص فئتنا في مسار وراثة عادي. يفترض التحديث أن الأصول محدثة؛ لا يحدث الفئات المشتقة تلقائيًا. لا نختبر فئة فوقية مخصصة أو صحة عمل الدالة بمجرد إمكان إنشاء الكائن. [1] [2]
المراجع
- Python 3.12: update_abstractmethods
- CPython 3.12.14: abc.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
