Practical Examples of Namespaces in VB.NET 2005 - Inheriting a class from root namespace (or assembly): example continued
(Page 6 of 6 )
From the previous section, we have two classes with the same name "First" (but in different namespaces). Let us create one more class, "Second," as follows:
NamespaceNamespace1
Public Class Second
Inherits First
Private m_c As Integer
Public Sub New(ByVal x As Integer, ByVal y As Integer,
ByVal z As Integer)
MyBase.New(x, y)
m_c = z
End Sub
Public Property C() As Integer
Get
Return m_c
End Get
Set(ByVal value As Integer)
m_c = value
End Set
End Property
Public Function getSum() As Integer
Dim s As Integer
s = Me.A + Me.B + Me.C
Return s
End Function
End Class
EndNamespace
The above section is the trickiest part. The class "Second" gets inherited from the class "First." Which "First"? Is it related to the root namespace or the namespace "Namespace1"?
First of all, the class "Second" belongs to the namespace "Namespace1." When this class gets inherited from another class, it checks whether that class exists within its own parent scope or not (in this case, it would be "Namespace1"). If it exists, it inherits from the same. This is called scope. So the above class "Second" gets inherited from the class "First" available in the namespace "Namespace1."
If we need to inherit the class "Second" from the class "First" of the root namespace, we may need to modify the code as follows:
NamespaceNamespace1
Public Class Second
Inherits SampleInheritance.First
.
.
.
End Class
EndNamespace
In this article, I simply wanted to explain the topics of OOPS. The sample codes given in this article are neither the best in performance nor the best in programming methodologies.
Any feedback, suggestions, bugs, errors, improvements etc., are highly appreciated at jag_chat@yahoo.com.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |