MyBase keyword
Mybase keyword inheritance मे base class की overrided method को call करने के लिए use की जाती है। जब inheritance करते समय कभी भी base class की overrided method की आवश्यकता पड़ती है तब mybase keyword का use कर call कर सकते हैं।
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 के लिए प्रयोग नहीं कर सकते हैं।
- Mybase ,base class के अंदर प्रयोग नहीं की जा सकती है।
- Mybase को friend member के लिए प्रयोग नहीं किया जा सकता है।