وظائف الاتصال ضمن الفئات: نهج عملي
في البرمجة الموجهة للكائنات ، تغلف الفئات البيانات والوظائف ، وتنظيمها في كيانات منطقية. عندما تحتاج إلى إجراء عمليات على هذه الكائنات ، يمكنك تحديد وظائف الأعضاء داخل الفصل. ومع ذلك ، ليس من الواضح دائمًا كيفية استدعاء وظيفة واحدة من داخل آخر عندما يتم تعريف كلاهما في نفس الفئة.
المشكلة: Def Disttopoint (Self ، P): # حساب المسافة باستخدام نظرية فيثاغوراس def isNear (Self ، p): # كيف نسمي disttopoint من isNear؟
في هذا المثال ، نريد تحديد ما إذا كانت النقطة قريبة من نقطة أخرى باستخدام وظيفة disttopoint. كيف نستدعي هذه الوظيفة ضمن دالة ISNEAR؟
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): # How do we call distToPoint from isNear?الحل:
للاتصال بوظيفة عضو داخل الفئة نفسها ، نحتاج إلى استخدام مثيل الفئة (المشار إليها بالذات عن طريق الاتفاقية) للوصول إلى أساليبها. ستبدو دالة ISNEAR المصححة مثل هذا: إحداثيات الفئة: Def Disttopoint (Self ، P): # حساب المسافة باستخدام نظرية فيثاغوراس def isNear (Self ، p): self.disttopoint (p) # تابع مع العمليات الأخرى
عن طريق إضافة الذات قبل disttopoint ، نشير صراحةً إلى أننا نريد أن ندعو وظيفة العضو disttopoint على مثيل Self لفئة الإحداثيات.
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): self.distToPoint(p) # Continue with other operations
إحداثيات = إحداثيات () COVESINATES.ISNEAR (other_point)
سيحسب هذا المسافة بين إحداثيات المثيل والأخرى المحددة باستخدام دالة disttopoint.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3