Skillnaden mellan multipel- och multilevel-arv

Innehållsförteckning:

Skillnaden mellan multipel- och multilevel-arv
Skillnaden mellan multipel- och multilevel-arv

Video: Skillnaden mellan multipel- och multilevel-arv

Video: Skillnaden mellan multipel- och multilevel-arv
Video: How to Beat THE DREAMER / Sentinels Of The Multiverse / Training Ground For All The Villains 2024, November
Anonim

Nyckelskillnad – Multipel vs Multilevel Arv

Objektorienterad programmering (OOP) är ett paradigm för att designa ett program med hjälp av klasser och metoder. Verkliga scenarier kan mappas till objekt. Därför är det enkelt att bygga mjukvarulösningar. En klass är en ritning för att bygga ett objekt. Den innehåller egenskaper och metoder. Till exempel, innan du skapar ett elevobjekt, bör det finnas en klasselev med egenskaper och metoder. En elev kan ha egenskaper som student-id, namn och metoder som läsa, skriva, studera. Metoder beskriver beteendet medan egenskaper är attributen. Efter att ha skapat klassen är det möjligt att skapa objekt med hjälp av dem. Objektskapande är också känt som Object Instantiation. Objekt existerar inte isolerat. De kommunicerar med andra objekt och data skickas inom objekt. En pelare i OOP är arv. Syftet med Arv är att öka kodåteranvändbarheten. Det skapar en ny klass av egenskaper och metoder för den redan existerande klassen. Den befintliga klassen är känd som basklassen, och den nya klassen kallas den härledda klassen. Multipelt arv och Multilevel Inheritance är arvstyper. Den här artikeln diskuterar skillnaden mellan dem. Den viktigaste skillnaden mellan Multipel- och Multilevel Inheritance är att Multilevel Inheritance är när en klass ärver från många basklasser medan Multilevel Inheritance är när en klass ärver från en härledd klass vilket gör den härledda klassen till en basklass för en ny klass.

Vad är multipelarv?

Multiple Inheritance är när en klass ärver mer än en basklass.

Skillnaden mellan multipel och multilevel arv
Skillnaden mellan multipel och multilevel arv

Figur 01: Multipelt arv

A B och C är klasser. A och B är basklasser och C är den härledda klassen. Klassen C måste hantera beroendet av både basklass A och B. Flera arv används inte i stor utsträckning i programvaruprojekt. Det gör systemet mer komplext eftersom en klass ärver många klasser.

Anta till exempel att klass A och B båda har en metod med samma namn som är summan() och klass C härleder båda klasserna. Efter att ha skapat ett objekt av typ C och anropat metoden summa () kan det orsaka ett fel eftersom båda klasserna har samma metod. Kompilatorn vet inte vilken funktion som ska anropas. Därför ökar Multipelt arv komplexiteten i ett system. Multiple Inheritance stöds i språket C++ men språk som Java, C stöder inte Multiple Inheritance. Istället använder dessa språk gränssnitt som liknar en klass men som inte kan instansieras.

Vad är Multilevel Inheritance?

Multilevel Inheritance är när en klass ärver från en härledd klass som gör den härledda klassen till en basklass för en ny klass.

Nyckelskillnaden mellan multipel och multilevel arv
Nyckelskillnaden mellan multipel och multilevel arv

Figur 02: Multilevel Arv

Arv på flera nivåer har tre nivåer. Mellanklassen som B ärver från klass A och klass C ärver från klass B. A är basklassen för B och B är basklassen för C.

Ett program som implementerar Multilevel Inheritance är följande. Programmet är skrivet med Java.

Skillnaden mellan multipel och multilevel arv_figur 03
Skillnaden mellan multipel och multilevel arv_figur 03

Figur 03: Program som implementerar Multilevel Inheritance

Enligt programmet ovan är klass A basklassen för klass B. Klass B är basklassen för klass C. Alla egenskaper och metoder i klass A är tillgängliga för klass B. Alla egenskaper och metoder för klass B är tillgänglig av klass C. Klass C kan därför komma åt egenskaper och metoder för både A och B. När du skapar ett objekt av typ C är det möjligt att anropa alla tre metoderna A (), B () och C (). Utdata kommer att ge A, B, C.

Vad är likheten mellan multipel- och multilevel-arv?

Båda är typer av arv

Vad är skillnaden mellan multipel- och multilevel-arv?

Multiple Inheritance vs Multilevel Arv

Multiple Inheritance är en arvstyp där en klass ärver från mer än en basklass. Multilevel Inheritance är en arvstyp som ärver från en härledd klass, vilket gör den härledda klassen till en basklass för en ny klass.
Användning
Multipelt arv används inte så ofta eftersom det gör systemet mer komplext. Multilevel Arv används flitigt.
Klassnivåer
Multiple Inheritance har två klassnivåer, nämligen basklass och härledd klass. Multilevel Inheritance har tre klassnivåer, nämligen basklass, mellanklass och härledd klass.

Sammanfattning – Multipel vs Multilevel Arv

Arv är en viktig pelare i objektorienterad programmering. Det finns olika typer av arv; de är Single Level Inheritance, Multilevel Inheritance, Multilevel Inheritance, Hierarkiskt arv och Hybrid Arv. Single Level Inheritance har en basklass och en härledd klass. Hierarkiskt arv har en basklass och många härledda klasser. Hybrid arv är en kombination av multilevel och multipel arv. Den här artikeln beskrev skillnaden mellan multipelt arv och multilevel inheritance. Skillnaden mellan arv med flera och flera nivåer är att arv med flera nivåer är när en klass ärver från många basklasser medan arv på flera nivåer är när en klass ärver från en härledd klass, vilket gör den härledda klassen till en basklass för en ny klass. Multilevel Inheritance används ofta än Multilevel Inheritance.

Ladda ned PDF:en Multiple vs Multilevel Inheritance

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här Skillnaden mellan arv på flera nivåer och på flera nivåer

Rekommenderad: