14-10-12, 03:38 PM
كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته .
عد بداية للدرس السابع عشر للتعرف على المبدأ العام لل polymorphism
التعريف الماضي والذي يسمح لك بتعريف class بدون اي implementation ، يوفر لك ايضاً كتابة كود ولكن في المقابل يسمح لك بتغيير ال implementation الخاص بالدالة بين الكلاس والآخر ، وهو ما يعرف باسم Overridding .
لنفترض مثال السيارة الخاص بنا ، لو افترضنا وجود الدالة التالية الخاصة بحساب المسافة المتبقية للسيارة قبل ان ينفد البنزين ، وحيث ان السيارة (مثلاً) تصرف جالوناً لكل 10 كيلومتر .
c#:
كود :
public int calc(int fuel)
{
return fuel * 10;
}
كود :
Public Function calc(ByVal fuel As Integer) As Integer
Return fuel * 10
End Function
c#:
كود :
public virtual int calc(int fuel)
{
return fuel * 10;
}
كود :
Public Overridable Function calc(ByVal fuel As Integer) As Integer
Return fuel * 10
End Function
c#:
كود :
public override int calc(int fuel)
{
return fuel * 5;
}
كود :
Public Overloads Overrides Function calc(ByVal fuel As Integer) As Integer
Return fuel * 5
End Function