Monday, April 29, 2013

MyBase keyword

 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

Contact us

Name

Email *

Message *