هل هناك طريقة أفضل للاتصال بطريقة كائن مشتق لكل فئة أساسية؟

StackOverflow https://stackoverflow.com/questions/1337845

سؤال

لدي فئة أساسية حيث اشتقت عدة فصول. لدي فئة أخرى تستخدم كل هذه الفئات المشتقة بطريقة مختلفة. ومع ذلك، أريد أن أسمي Update() الطريقة (الموروثة من الفئة الأساسية) على كل فئة مشتقة. هل هناك طريقة سهلة للقيام بذلك، أو هل يجب علي فعل شيء مثل:

dim a As Derived1
a.Update

dim b As Derived2
b.Update

etc...
هل كانت مفيدة؟

المحلول

أعتقد أن أفضل طريقة للقيام بذلك هي الحفاظ على الكائنات المشتقة في قائمة من نوع ما، ثم اكتشافها من أجل الاتصال بالتحديث.

في كود الزائفة:

foreach BaseClass item in {a, b, ...}:
    item.Update

نصائح أخرى

يمكنك القيام بذلك من خلال تعدد الأشكال مع مكالمة دالة مرت الفئة الأساسية (رمز Pseudo):

Dim Dev1 as Derived1 '// This is derived from the class BaseClass
Dim Dev2 as Derived2 '// This is derived from the class BaseClass

CallUpdate(Dev1)
CallUpdate(Dev2)

Function CallUpdate(BaseClass bc)
    bc.Update()
End Function
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top