Platforma .NET nu acceptă moștenirea multiplă. Nu confundați moștenirea pe mai multe niveluri cu moștenirea multiplă. Cu moștenirea multiplă putem avea o subclasă care moștenește din două clase în același timp.
Să presupunem că avem o aplicație care are o clasă Clienți și o altă clasă Furnizori. Dacă doriți să combinați aceste două clase într-o singură clasă CustomerVendor, ar fi o combinație de Clienți și Furnizori la fel ca în diagrama de mai jos.
Vă rugăm să copiați următoarea adresă URL în browser pentru a vizualiza diagrama: [Lr2 Imagini/ThomasArt1.gif
În diagrama de mai sus vedem cum moștenește clasa CustomerVendor de la ambele clase.
Moștenirea multiplă este complexă și poate fi periculoasă. Avantajele reutilizarii codului prevalează asupra complexității este la alegerea dvs.
Moștenirea multiplă nu este acceptată de platforma VB.NET sau .Net. În loc de moștenirea multiplă, putem folosi mai multe interfețe pentru a obține un efect similar cu moștenirea multiplă.
În VB.NET toate obiectele au o interfață primară sau nativă, care este compusă din proprietăți, evenimente, metode sau variabile membre declarate folosind cuvântul cheie Public.
Obiectele pot implementa și interfețe secundare folosind cuvântul cheie Implement.
Uneori este util ca un obiect să aibă mai multe interfețe, permițându-ne să interacționăm cu obiectul în moduri diferite. Moștenirea ne permite să creăm subclase care sunt un caz specializat al clasei de bază.
Exemplu
Uneori avem un grup de obiecte care nu sunt la fel, dar vrem să le manipulăm în același mod. Dorim ca toate obiectele să se comporte ca și cum ar fi aceleași, chiar dacă sunt diferite.
Putem avea câteva obiecte diferite într-o aplicație, cum ar fi client, produs, factură etc. Fiecare obiect ar avea o interfață implicită adecvată fiecărui obiect individual și fiecare dintre ele este o clasă diferită. Nu este implicată nicio moștenire naturală între aceste clase.
Să presupunem că vrem să tipărim un document pentru fiecare tip de obiect. În acest caz, am dori să le facem pe toate să acționeze ca obiect imprimabil.
Pentru a realiza acest lucru putem defini o interfață generică care ar permite generarea unui document tipărit.
Prin implementarea unei interfețe comune putem scrie o rutină care acceptă orice obiect care implementează un document tipărit.
În concluzie, prin implementarea mai multor interfețe în VB.NET, putem obține un efect similar cu cel al moștenirii multiple.