Mybase keyword inheritance मे base class की overrided method को call करने के लिए use की जाती है। जब inheritance करते समय कभी भी base class की overrided method की आवश्यकता पड़ती है तब mybase keyword का use कर use call कर सकते हैं। जैसे given example मे जब Circle के area calculate किया जाता है साथ ही जब Cone का area calculate करते है तब Circle class के area को override करने के आवश्यकता पड़ती है इसमे base class (Circle) के area method को कॉल करने के लिए mybase का use किया जाता है।
Circle.vb
Public Class Circle
Private cradius As Double
Public Property
Radius() As Double
Get
radius =
cradius
End Get
Set(ByVal value As Double)
If value < 0 Then
msgbox("Wrong Input:")
Else
cradius
= value
End If
End Set
End Property
Public Overridable Function Area() As Double
Return Math.PI * Radius ^ 2
End Function
End Class
Cone.vb
Public Class Cone
Inherits Circle
Dim l As Double
Public Property
length() As Double
Get
length = l
End Get
Set(ByVal value As Double)
l = value
End Set
End Property
Public Overrides Function Area() As Double
Return ((Math.PI * Radius * length) + MyBase.Area())
End Function
End Class
Limitations of MyBase keyword:
- Mybase keyword केवल immediate base class के लिए use की जा सकता है।
- Mybase real object नहीं है इसीलिए इसके द्वारा variable मे value को assign, procedure मे pass etc. नहीं कर सकते हैं।
- Mybase को MustOverride base class के लिए use नहीं कर सकते हैं।
- Mybase base class के अंदर प्रयोग नहीं की जा सकती है।
- Mybase को friend member के लिए use नहीं किया जा सकता है।
No comments:
Post a Comment