? I C + + programmering, er en klasse en datastruktur som definerer et sett med egenskaper som kan inkludere både data og funksjoner . Arv tillater en slags klasse , kalt avledet klasse , for å ha noen eller alle av dets egenskaper som er definert av en annen klasse , kalt basis -klassen. Det finnes fire hovedtyper av arv forholdet i C + + : enkeltrom, flere, hierarkisk og multilevel , selv om disse kan kombineres til en femte typen som kalles hybrid arv . Enkelt Inheritance
Enkel arv er den enkleste formen for arv struktur mellom C + + klasser . I en enkel arv hierarki , arver en avledet klasse egenskaper fra en base klasse . Dette er et enkelt forhold der avledet klassen representerer et delsett av basen klassen . Et eksempel hvor enkel arv kan brukes er med en base klasse kalt Book, holder en bokens tittel , sjanger osv. En avledet klasse kan eksistere kalt LibraryBook , som ville bli definert som en bok med ekstra eiendom av en forfallsdato .
multippel arv
Multippel arv er en noe mer avansert type arv som en avledet klasse stammer egenskaper fra to eller flere klasser base . For eksempel kan klasse kalt Person defineres til å holde en persons navn , fødselsdato, etc., og en annen klasse kalt Employee kunne defineres til å holde en arbeidstakers lønn , arbeidsgiver , fordeler pakke , osv. En avledet klasse kalt webdesigner kunne trekke egenskaper fra både person og ansatte grunnklasser å lagre både biografisk og sysselsetting informasjon om web-designere .
hierarkisk Inheritance
hierarkisk arv er det motsatte av flere arv . I stedet for en avledet klasse tegning på flere klasser base , gir en base klasse eiendommer for flere avledede klasser . Et eksempel på hvor hierarkisk arv kan brukes er en sportsbil statistikk sporing program . En base klasse kalt Player kan lagre en spillers navn , alder , lag, etc. Avledet klasser kalt BaseballPitcher , BaseballShortstop , FootballLineman , etc. kan alle utlede de grunnleggende egenskapene til en spiller fra basen , og hver legge til et annet sett med egenskaper for å spore statistikken er relevante for at idretten og posisjon.
Multilevel Inheritance
Multilevel arv , som navnet antyder, består av en arv hierarki som oppstår når en klasse arver egenskaper fra en annen klasse som selv er utledet fra en tredje klasse klasse . For eksempel , en base klasse kalt Book kunne ha egenskaper som lagrer tittel, utgiver , osv. av en bok. En avledet klasse LibraryBook kunne utlede egenskaper fra Book samtidig legge nye egenskaper som forfallsdato. En ChildrensSection klasse, i sin tur , kunne utlede egenskaper fra LibraryBook samtidig legge egenskaper spesifikke for en bok fra barneavdeling , slik som illustratør .