.NET : Solving The Multiple Inheritance Issue Under .NET
Platform
By Thomas Kaloyani
.NET platform does not support multiple inheritance. Do not
confuse multilevel inheritance with multiple inheritance. With
multiple inheritance we can have a subclass that inherits from
two classes at the same time.
Let's suppose we have an application that has a class Customers
and another class Vendors. If you wanted to combine these two
classes into one CustomerVendor class it would be a combination
of Customers and Vendors just like the diagram below.
Please copy the following link into a new browser windor to
view the diagram: http://www.vbprofs.com/images/Article
Images/VBNETinheritance.gif
In the above diagram we see how the CustomerVendor class
inherits from both of those classes.
Multiple inheritance is complex and can be dangerous. The
advantages of code re-usage prevail over complexity is up to
your choice.
Multiple inheritance is not supported by VB.NET or .Net
platform. Instead of multiple inheritance we can use multiple
interfaces to achieve similar effect to multiple inheritance.
In VB.NET all objects have a primary or native interface, which
is composed of properties, events, methods or member variables
declared using Public keyword. Objects can implement also
secondary interfaces by using Implement keyword.
Sometimes it is helpful for an object to have more than one
interface, allowing us to interact with the object in different
ways. Inheritance allow us to create subclasses that are a
specialized case of the base class.
Example
Sometimes we have a group of objects that are not the similar,
but we want to handle them the same manner. We want all the
objects to act as if they are the same, even though they are
different.
We can have some different objects in an application, such as
customer, product, invoice etc. Each object would have a default
interface appropriate to each individual object, and each of
them is a different class. No natural inheritance is implied
between these classes.
Let's suppose we want to print a document for each type of
object. In this case we'd like to make them all act as printable
object. To accomplish this we can define a generic interface
that would enable generating a printed document. By implementing
a common interface we are able to write a routine that accepts
any object that implements a printed document.
To conclude, by implementing multiple interfaces in VB.NET, we
can achieve a similar effect to that of multiple inheritance.
About the Author: Thomas is an experienced Visual Basic
developer, with expertise of 7+ years developing financial
applications. His main IT skills are VB, SQL, Crystal Reports -
should you need a VB developer for your projects feel free to
contact Thomas through his personal website at
http://www.Kaloyani.com or through http://www.VBprofs.com
Source: http://www.isnare.com