Forskjellen mellom multippel- og flernivåarv

Innholdsfortegnelse:

Forskjellen mellom multippel- og flernivåarv
Forskjellen mellom multippel- og flernivåarv

Video: Forskjellen mellom multippel- og flernivåarv

Video: Forskjellen mellom multippel- og flernivåarv
Video: Multippel sklerose og fatigue 2024, November
Anonim

Nøkkelforskjell – Multiple vs Multilevel Inheritance

Objektorientert programmering (OOP) er et paradigme for å designe et program ved hjelp av klasser og metoder. Scenarier i den virkelige verden kan kartlegges til objekter. Derfor er det enkelt å bygge programvareløsninger. En klasse er en blåkopi for å bygge et objekt. Den inneholder egenskaper og metoder. For eksempel, før du oppretter et elevobjekt, bør det være en klasseelev med egenskaper og metoder. En student kan ha egenskaper som student-id, navn og metoder som lese, skrive, studere. Metoder beskriver atferden mens egenskaper er attributtene. Etter å ha opprettet klassen, er det mulig å lage objekter ved hjelp av dem. Objektskaping er også kjent som Object Instantiation. Objekt eksisterer ikke isolert. De kommuniserer med andre objekter og data sendes innenfor objekter. En pilar i OOP er arv. Hensikten med arv er å øke gjenbrukbarheten av kode. Det skaper en ny klasse med egenskaper og metoder for den allerede eksisterende klassen. Den eksisterende klassen er kjent som basisklassen, og den nye klassen kalles den avledede klassen. Multippelarv og Multilevel Inheritance er arvetyper. Denne artikkelen diskuterer forskjellen mellom dem. Den viktigste forskjellen mellom multippel- og flernivåarv er at multippelarv er når en klasse arver fra mange basisklasser, mens flernivåarv er når en klasse arver fra en avledet klasse som gjør den avledede klassen til en basisklasse for en ny klasse.

Hva er multippel arv?

Multippelarv er når en klasse arver mer enn én grunnklasse.

Forskjellen mellom multippel og multilevel arv
Forskjellen mellom multippel og multilevel arv

Figur 01: Multippel arv

A B og C er klasser. A og B er basisklasser, og C er den avledede klassen. Klassen C må administrere avhengigheten til både basisklassene A og B. Flere arv er ikke mye brukt i programvareprosjekter. Det gjør systemet mer komplekst fordi én klasse arver mange klasser.

Anta for eksempel at klasse A og B begge har en metode med samme navn som er sum() og klasse C utleder begge klassene. Etter å ha opprettet et objekt av type C og k alt sum ()-metoden, kan det forårsake en feil fordi begge klassene har samme metode. Kompilatoren vet ikke hvilken funksjon som skal kalles. Derfor øker multippel arv kompleksiteten til et system. Multiple Inheritance støttes i C++-språket, men språk som Java, C støtter ikke Multiple Inheritance. I stedet bruker disse språkene grensesnitt som ligner på en klasse, men som ikke kan instansieres.

Hva er flernivåarv?

Flernivåarv er når en klasse arver fra en avledet klasse som gjør den avledede klassen til en basisklasse for en ny klasse.

Nøkkelforskjellen mellom arv med flere og flere nivåer
Nøkkelforskjellen mellom arv med flere og flere nivåer

Figur 02: Multilevel Inheritance

Arv på flere nivåer har tre nivåer. Mellomklassen som B arver fra klasse A og klasse C arver fra klasse B. A er grunnklassen for B og B er grunnklassen for C.

Et program som implementerer Multilevel Inheritance er som følger. Programmet er skrevet med Java.

Forskjellen mellom multiple og multilevel inheritance_figur 03
Forskjellen mellom multiple og multilevel inheritance_figur 03

Figur 03: Program som implementerer flernivåarv

I henhold til programmet ovenfor er klasse A basisklassen for klasse B. Klasse B er basisklassen for klasse C. Alle egenskaper og metoder for klasse A er tilgjengelige for klasse B. Alle egenskaper og metoder for klasse B er tilgjengelig for klasse C. Derfor kan klasse C få tilgang til egenskaper og metoder for både A og B. Når du oppretter et objekt av type C, er det mulig å kalle alle tre metodene A (), B () og C (). Utgangen vil gi A, B, C.

Hva er likheten mellom multippel- og flernivåarv?

Begge er typer arv

Hva er forskjellen mellom multippel- og flernivåarv?

Multiple Inheritance vs Multilevel Inheritance

Multiple Inheritance er en arvetype der en klasse arver fra mer enn én basisklasse. Multilevel Inheritance er en arvetype som arver fra en avledet klasse, noe som gjør den avledede klassen til en basisklasse for en ny klasse.
Bruk
Multippelarv er ikke mye brukt fordi det gjør systemet mer komplekst. Flernivåarv er mye brukt.
Klassenivåer
Multiple Inheritance har to klassenivåer, nemlig basisklasse og avledet klasse. Multilevel Inheritance har tre klassenivåer, nemlig basisklasse, mellomklasse og avledet klasse.

Summary – Multiple vs Multilevel Inheritance

Arv er en hovedpilar i objektorientert programmering. Det finnes ulike typer arv; de er Enkeltnivåarv, Flernivåarv, Multippelarv, Hierarkisk arv og Hybridarv. Single Level Inheritance har én basisklasse og én avledet klasse. Hierarkisk arv har én basisklasse og mange avledede klasser. Hybridarv er en kombinasjon av flernivåarv og multippelarv. Denne artikkelen beskrev forskjellen mellom Multiple Inheritance og Multilevel Inheritance. Forskjellen mellom multippel- og flernivåarv er at multippelarv er når en klasse arver fra mange basisklasser, mens flernivåarv er når en klasse arver fra en avledet klasse, noe som gjør den avledede klassen til en basisklasse for en ny klasse. Multilevel Inheritance er mye brukt enn Multilevel Inheritance.

Last ned PDF-en Multiple vs Multilevel Inheritance

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til offline-formål i henhold til sitat. Vennligst last ned PDF-versjon her Forskjellen mellom multippel- og flernivåarv

Anbefalt: