.NET : Solving The Multiple Inheritance Issue Under .NET Platform

Computers & Internet Article Directory, Get Free Reprint Articles and Computers & Internet Content for your site with
article directory
54866 *recent articles in 509 categories Last article added 11/15/07
 
Article Categories
 
Reviews
 
Site Menu
 
Site Search


 
ArticlePros.com » Computers & Internet » Programming » .NET : Solving The Multiple Inheritance Issue Under .NET Platform

  • Date: 2005-09-06
  • Author: Thomas Kaloyani
  • All articles by this author
  • .NET : Solving The Multiple Inheritance Issue Under .NET Platform


    Related Programming Articles

         .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.

    More articles from this pro: http://www.ArticlePros.com/author.php?Thomas Kaloyani


    More on Computers & Internet and Programming can be found here.
     

    Get this article to go

    RSS | JScript | Email | HTML

     

    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 <a href="http://www.Kaloyani.com" target="_blank">http://www.Kaloyani.com</a> or through <a href="http://www.VBprofs.com" target="_blank">http://www.VBprofs.com</a>

     
    Email options
       

    ** Check all that apply **

     

    This article has been accessed 947 times since 2005-09-06.


    Home  •  Search  •  Add Your Own Article  •  RSS feeds  •  JavaScript Feeds  •   •  Set as Homepage  •  Add to Favourites
    Disclaimer: The information presented and opinions expressed herein are those of the authors
    and do not necessarily represent the views of ArticlePros.com and/or its partners.
    Copyright ArticlePros.com © 2005. All Rights Reserved