Taula de continguts:
Definició: què significa Herència?
L'herència, en C #, és la capacitat de crear una classe que hereti atributs i comportaments d'una classe existent. La classe de nova creació és la classe derivada (o fill) i la classe existent és la classe base (o pare).
L'herència és una de les característiques clau de la programació orientada a objectes. Els avantatges de l’herència formen part de la raó per la qual la programació estructural es pot substituir per una programació orientada a objectes.
L'herència en C # està dissenyada tant a nivell d'implementació com a nivell d'interfície. L'herència d'implementació implica un codi d'una classe que es reutilitza en una altra, mentre que l'herència d'interfície implica l'herència de només les signatures de funcions d'un tipus a un altre.
L'herència també es coneix com a generalització.
Techopedia explica Herència
C # no admet herència múltiple, el que significa que una classe pot derivar només d’una classe base, tot i que una classe es pot derivar d’una o més interfícies. Degut al caràcter transitiu de l’herència, una classe derivada hereta tots els membres dels seus avantpassats.
Per exemple, les classes, Car i Bus es poden derivar d’una classe base, Vehicle, a través d’herència perquè tant Car com Bus són tipus de Vehicle.
Les principals característiques de l'herència són:
- Es pot accedir a la classe derivada a tots els membres de la classe base, excepte aquells amb accessibilitat privada.
- Tots els membres de la classe base s’hereten de la classe base excepte els constructors i els destructors.
- A diferència de C ++, els mètodes virtuals d'una classe derivada han d'utilitzar el modificador "anul·lar" per substituir un membre heretat.
- Per ocultar un membre heretat amb el mateix nom i signatura a la classe derivada, es pot utilitzar el modificador "nou".
- Per evitar la instanciació directa d'una classe, es pot utilitzar el modificador "abstracte".
- Per evitar més derivació d'una classe base, es pot declarar mitjançant un modificador "segellat".
- Permet la construcció d’una jerarquia de classes relacionades que pot reutilitzar, ampliar i alterar els comportaments definits a les classes existents.
- Permet la reutilització del codi, reduint el temps i l’esforç en la codificació i la prova.
- Ajuda a millorar la modularitat i el rendiment dividint peces grans de codi en peces més petites i més manejables.
- Forma el mitjà per aconseguir el polimorfisme, que permet a un objecte representar més d’un tipus.
Aquesta definició es va escriure en el context de C #