Moștenirea (programare) - l
tipuri de moștenire
moștenire simplă
Class. din care se moștenire, numită bază sau părinte (clasă de bază Eng.). Clasele care au avut loc de la bază, numit descendenți. Succesorii sau clase derivate (Engl. clasă derivată).
Unele limbi folosesc clase abstracte. O clasă abstractă - o clasă care conține cel puțin o metodă abstractă. este descrisă în program, acesta are un câmp. Tehnicile și nu pot fi folosite pentru a crea în mod direct obiectul. Aceasta este, din clasa abstractă poate moșteni numai. Obiectele sunt create numai pe baza claselor derivate moștenesc de la abstract. De exemplu, o clasă abstractă poate fi o clasă de bază „angajat universitate“, care sunt moștenite clase de „student absolvent“, „profesor“ și t. D. Deoarece clasele derivate au câmpuri și funcții comune (de exemplu, „data nașterii“ pe teren), acestea membrii clasei pot fi descrise în clasa de bază. Programul de obiecte sunt create pe baza unor clase „student absolvent“, „profesorul“, dar nu are nici un sens pentru a crea un obiect bazat pe clasa „angajat al universității.“
moștenire multiplă
Atunci când moștenire multiplă între clase pot fi mai mult de un părinte. În acest caz, clasa moștenește toate metodele strămoșilor lor. Avantajele acestei abordări pentru o mai mare flexibilitate. moștenire multiplă este implementat în C ++. Din alte limbi, oferă această capacitate, poate fi notat Python și Eiffel. moștenire multiplă este acceptată în limba UML.
Multiple moștenire - o sursă potențială de erori care pot apărea din cauza prezenței aceleași nume în metoda strămoșii. În limbi, care sunt poziționate ca mostenitorii C ++ (Java. C #, etc), moștenire multiplă a fost abandonată în favoarea interfețelor. Aproape întotdeauna este posibil să se evite utilizarea acestui mecanism. Cu toate acestea, în cazul în care nevoia este încă acolo, apoi, pentru a rezolva conflictele moștenite metode folosesc același nume, poate, de exemplu, să aplice extinderea funcționării vederii - „::“ - pentru a apela o metodă particulară a unui anumit părinte.
Încercarea de a rezolva problema de a avea același nume în strămoșii metode a fost făcută în limba Eifel. în care descrierea noii clase trebuie să fie importate în mod explicit să specifice membrii fiecăreia dintre clasele derivate și denumirea lor în clasa derivată.
Cele mai moderne limbaje de programare orientate-obiect (C #. Java. Delphi, etc). Aceasta susține simultan moștenită de la o clasă strămoș și să pună în aplicare metode de mai multe interfețe în aceeași clasă. Acest mecanism vă permite să înlocuiască în mare măsură moștenirea multiplă - metodele de interfețe necesare pentru a redefini în mod clar că elimină erorile în funcționalitatea moștenire metode identice de diferite clase de strămoși.
Clasa de bază Single
In unele limbaje de programare, toate clasele moștenesc în mod explicit sau implicit la o anumită clasă de bază. Smalltalk a fost una dintre primele limbi care au folosit acest concept. Aceste limbi sunt Objective-C (NSObject), Perl (UNIVERSAL), Eiffel (ANY), Java (java.lang.Object), C # (System.Object), Delphi (TObject).
Moștenire în limbaje de programare
Visual Basic
Moștenirea în Visual Basic:
Vezi ce „Moștenirea (programare)“ în alte dicționare:
Moștenirea - un proces de transfer de proprietate (moștenire, proprietate moștenită) a decedat celorlalte părți. Moștenirea: Moștenirea (Biologie) Moștenirea (dreapta) Moștenirea (programare) moștenire multiplă și tipuri: în formă de diamant ... ... Wikipedia
Moștenirea (dezambiguizare) - Moștenirea (programare) Moștenirea (dreapta) ... Wikipedia
Programare bazată pe prototipuri - stil de programare bazate pe prototip de programare orientat-obiect, în care nu există nici un concept de clasă și de reutilizare (moștenire) este produs prin donarea unei instanțe existente a obiectului prototip ... ... Wikipedia.
Clasa (programare) - Acest termen, există alte utilizări, a se vedea clasa .. Clasa de la programarea unui set de metode și funcții. Alte tipuri de date abstracte metaclass, interfete, structuri, enumerările sunt caracterizate de ceea ce este a lui, celălalt ... ... Wikipedia
moștenire virtuală - În acest termen, există alte utilizări, a se vedea moștenire .. Despre metodele virtuale moștenire, a se vedea metoda virtuală. moștenire virtuală (Ing. moștenire virtuală) este una dintre opțiunile din limbajul de programare C ++ ... ... Wikipedia
moștenire multiplă - În acest termen, există alte utilizări, a se vedea moștenire .. proprietate moștenire multiplă, susținută de o parte din limbajele de programare orientate-obiect, atunci când o clasă poate avea mai mult de o superclasa (directă ... Wikipedia
moștenire multiplă - În acest termen, există alte utilizări, a se vedea moștenire .. moștenire de clasă Diagrama sub forma unui romb. moștenire multiplă (... Wikipedia