Video: Curso Java 13 - Herencia @JoseCodFacilito 2025
Arv refererer til en funksjon av Java-programmering som lar deg lage klasser som er avledet fra andre klasser. En klasse som er basert på en annen klasse arver den andre klassen. Klassen som er arvet, er forelderklassen, grunnklassen , eller superklassen. Klassen som gjør arven, er barneklassen, den avledede klassen, eller underkategorien .
En underklasse tar automatisk opp alle oppføringene og attributter av baseklassen. Så hvis du trenger å lage flere klasser for å beskrive typer som ikke er identiske, men har mange funksjoner til felles, kan du opprette en grunnklasse som definerer alle de vanlige funksjonene. Deretter kan du lage underklasser som arver de vanlige funksjonene.
En underklasse kan legge til funksjoner til grunnklassen den arver ved å definere egne metoder og felt. Dette er en av måtene som en avledet klasse skiller seg fra sin grunnklasse.
En underklasse kan også endre oppførselen fra baseklassen. En grunnklass kan gi at alle klasser avledet av den har en metode som heter spill, for eksempel, men hver klasse er fri for å gi sin egen implementering av spillemetoden. I så fall gir alle klasser som utvider baseklassen sin egen implementering av spillemetoden.
For å lage en underklasse bruker du utvidet søkeord på klassedeklarasjonen for å angi navnet på baseklassen. Det grunnleggende formatet til en underklasse erklæring er dette:
offentlig klasse Klassenavn utvider BaseClass {// klasse kroppen går her}
Underklassen arverer automatisk klasseklassen til baseklassen, så noen metoder eller felt som er definert av grunnklassen, vil automatisk bli inkludert i underklassen. Klassekroppen for en underklasse inneholder således bare metodene eller feltene som skiller underklassen fra baseklassen.
For eksempel, anta at du har en klasse med navnet Ball som definerer en grunnkule, og du vil opprette en underklasse som heter BouncingBall som legger muligheten til å sprette. Du kan gjøre det slik:
Public Class BouncingBall utvider Ball {public void bounce () {// sprettemetoden}}
Her er noen andre viktige detaljer om å lage underklasser:
-
En underklasse arver alle medlemmer fra sin grunnklasse. Konstruksjonene er imidlertid ikke ikke . Som et resultat gjør en underklasse ikke arvkonstruksjoner fra baseklassen.
-
Synligheten (offentlig eller privat) av medlemmer som er arvet fra grunnklassen, er den samme i underklassen.Det betyr at du ikke kan få tilgang til underklassemetoder eller felt som er erklært i grunnklassen som privat.
-
Du kan overstyre en metode ved å erklære et nytt medlem med samme signatur i underkategorien.
-
En spesiell type synlighet som kalles beskyttet skjulfelt og metoder fra andre klasser, men gjør dem tilgjengelige for underklasser.
-
Du kan legge til flere metoder eller felt - privat, offentlig eller beskyttet - til en underklasse.
