Vad är en arv?

I objektorienterad programmering hänvisar arv till ett objekts förmåga att ta på sig en eller flera egenskaper från andra klasser av objekt. Egenskapen ärvt är vanligtvis instansvariabler eller medlemsfunktioner. Ett objekt som ärver dessa egenskaper är känt som en underklass, och objektet som det ärver dem från är känt som en superklass. Detaljerna om hur arvet implementeras varierar mellan språk, men det första språket för att genomföra det var Simula 1967.

Vad används arv för?

Syftet med arv är att konsolidera och återanvända kod. Till exempel, om föremålen bil, lastbil och motorcykel är underklasser av superklassen, kan kod som gäller för dem alla konsolideras till en superklass för fordon. Underklassen kommer att ärva denna kod och eventuella framtida ändringar som görs till den automatiskt.

Fem typer arv

  • Single arv - Subclasses ärver egenskaper från en enda superklass.
  • Multiple arv - En underklass kan ha mer än en superklass och ärva egenskaper från dem alla.
  • Multilevel arv - En underklass kan ha sina egna underklasser. Med andra ord kan en underklass av en superklass i sig vara en superklass till andra underklasser.
  • Hierarkiskt arv - En basklass fungerar som överordnad superklass till flera nivåer av underklasser.
  • Hybrid arv - En kombination av en eller flera av de andra arvstyperna.

Instans, Objektorienterade, Programmeringsvillkor