Herència (programació)

De Viquipèdia
Dreceres ràpides: navegació, cerca

L’Herència es un dels conceptes fonamentals de la orientació a objectes i té gran importància en el desenvolupament de software. S’utilitza l’herència per crear classes noves a partir de les ja definides, aquesta relació és permanent. Una classe nova pot ser una extensió o be una restricció de la classe original. A més d’aquest aspecte estructural, serveix també per documentar les semblances entre les classes, que és particularment important durant les primeres etapes del disseny de software. La classe que hereta es diu classe base (també super-classe o classe pare), la classe heretada s’anomena classe derivada (també sub-classe o classe fill), aquesta pren o hereta els atributs (variables) i comportament (mètodes) de la classe base. Aquest procés es denomina especialització, en sentit contrari en diríem generalització, termes limitats principalment a nivell de models. En llenguatge UML (Unified Modeling Language) una relació de herència es representa amb una fletxa trianglular, apuntant a la classe base des de la classe derivada, els mètodes i atributs heretats no es repeteixen en la representació de la sub-classe. Al 1967 el llenguatge de programació Simula introduïa per primera vegada el concepte de herència juntament amb altres conceptes de la programació orientada a objectes, com ara el polimorfisme. Les classes permeten especificar els tipus de les dades i les funcions que seran heretades. Alguns llenguatges de programació separen aquests aspectes encara que sigui parcialment, i distingeixen entre classe i interfície (engl. Interface). Si una classe hereta de més d’una classe base parlem de herència múltiple, no està permesa a tots els llenguatges de programació, en alguns només de manera limitada.


Vegeu també[modifica | modifica el codi]