Esraa Mohamed5 نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 عند وراثة صف من قبل صف اخر استطيع من خلاله الوصول الى كل التوابع والمتغيرات في الصف الذي ورثته إلا الأشياء التي عرفتها ضمن التابع init فعندما أحاول الوصول لها يعطيني خطأ بأنها غير موجودة لذا كيف يمكنني وراثتها ايضا؟ اقتباس
1 Ali Haidar Ahmad نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 إن الـصف الابن يرث كل شيء موجود في الـصف الأب إلا الخصائص التي تم تعريفها كوسطاء بداخل الدالة __init__ و السبب في هذا أن الدالة __init__ تولد الخصائص لل object و تربطها بالكلاس لحظة إنشاء ال object. أي إذا لم تنشئ كائن من الكلاس لن يتم إستدعاء هذه الدالة أصلاً أي يمكنك القول أن المتحولات المعرفة ضمنها لن تكون موجودة، لذا لايمكن وراثتها بشكل مباشر. وحل هذه المشكلة يكون كما في المثال التالي، حيث نقوم باستدعاء الدالة __init__ للصف الأب داخل دالة __init__ للصف الابن: class myname: def __init__(self,name="Esraa"): self.name=name # نقوم بوراثته class emp(myname): def __init__(self): myname.__init__(self) # نقوم باستدعاء باني الصف الاب داخل باني الصف الاب p = emp() # أخذ غرض من الصف الابن print(p.name) # Esraa 3 اقتباس
السؤال
Esraa Mohamed5
عند وراثة صف من قبل صف اخر استطيع من خلاله الوصول الى كل التوابع والمتغيرات في الصف الذي ورثته إلا الأشياء التي عرفتها ضمن التابع init فعندما أحاول الوصول لها يعطيني خطأ بأنها غير موجودة لذا كيف يمكنني وراثتها ايضا؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.