Skillnaden Mellan Polymorfism Och Arv I OOP

Innehållsförteckning:

Skillnaden Mellan Polymorfism Och Arv I OOP
Skillnaden Mellan Polymorfism Och Arv I OOP

Video: Skillnaden Mellan Polymorfism Och Arv I OOP

Video: Skillnaden Mellan Polymorfism Och Arv I OOP
Video: Programmering 2 - OOP Polymorfism 2024, Maj
Anonim

Nyckelskillnad - Polymorfism mot arv i OOP

Objektorienterad programmering (OOP) används ofta för att utveckla programvara. Många programmeringsspråk stöder objektorienterad programmering. Objektorienterad programmering är en metod för att utforma ett program med hjälp av klasser och objekt. En klass i OOP är en ritning för att skapa ett objekt. En klass har egenskaper och metoder. Ett objekt är en förekomst av en klass. OOP innehåller fyra pelare såsom arv, polymorfism, abstraktion och inkapsling. Denna artikel diskuterar skillnaden mellan polymorfism och arv i OOP. Huvudskillnaden mellan polymorfism och arv i OOP är att polymorfism är ett objekts förmåga att bete sig på flera sätt och arv är att skapa en ny klass med egenskaper och metoder för en befintlig klass.

INNEHÅLL

1. Översikt och nyckelskillnad

2. Vad är polymorfism i OOP

3. Vad är arv i OOP

4. Likheter mellan polymorfism och arv i OOP

5. Jämförelse sida vid sida - Polymorfism vs Arv i OOP i tabellform

6. Sammanfattning

Vad är polymorfism i OOP?

Polymorfism är att ange flera former. Ett objekt kan ha flera beteenden. Polymorfism kan delas in i två kategorier. De överbelastar och åsidosätter.

Överbelastning

Se nedanstående program skrivet i Java.

Skillnaden mellan polymorfism och arv i OOP
Skillnaden mellan polymorfism och arv i OOP

Figur 01: Överbelastning

Enligt ovanstående program skapas ett objekt av typ A. När du ringer till obj.sum (); det ger utdata relaterade till metodsumman (). När du ringer till obj.sum (2,3); det ger utgången relaterad till summan (int a, int b). Det kan observeras att samma objekt har olika beteenden beroende på situationen. När det finns flera metoder med samma namn, men med olika parametrar, kallas det för överbelastning. Det är också känt som statisk bindning eller kompileringstidspolymorfism.

Åsidosättande

En annan typ av polymorfism är övergripande. Se nedanstående program skrivet i Java.

Skillnaden mellan polymorfism och arv i OOP Figur 02
Skillnaden mellan polymorfism och arv i OOP Figur 02

Figur 02: Åsidosättande

Enligt ovanstående program finns det en metodvisning () i klass A. Klass B sträcker sig från klass A. Därför är alla metoder i klass A tillgängliga för klass B. Det är arv. Arvskonceptet beskrivs ytterligare senare.

Klass B har också samma metodvisning (). När du skapar ett objekt av typ A och visningsmetod kommer utdata att ge B. Klass A-visningsmetod åsidosätts av klass B-visningsmetod. Så resultatet är B.

När det finns metoder med samma namn och samma parametrar men i två olika klasser, och de är kopplade till arv, är det känt som övergripande. Det är också känt som senbindning, dynamisk bindning, körtidspolymorfism. Överbelastning och åsidosättande kallas polymorfism. Det är ett stort koncept inom objektorienterad programmering.

Vad är arv i OOP?

Se nedanstående program skrivet i Java.

Huvudskillnad mellan polymorfism och arv i OOP
Huvudskillnad mellan polymorfism och arv i OOP

Bild 03: Exempel på arv

Enligt ovanstående program har klass A metodsumma () och klass B har metod sub ().

Sum () -metoden i klass A kan användas i klass B med hjälp av förlängningsordet. Att återanvända egenskaperna och metoderna i en befintlig klass för att skapa en ny klass kallas Inheritance. Även det finns ingen sum () -metod i klass B; det ärvs från klass A. Arv är användbart för återanvändning av kod. Den äldre klassen kallas basklassen, superklassen eller föräldraklassen. Den härledda klassen kallas underklassen eller underklassen.

Typer av arv

Det finns olika typer av arv. De är arv på en nivå, arv på flera nivåer, flera arv, hierarkiska arv och hybrid arv.

Enstaka arv

I Single Arv finns det en superklass och en underklass. Om klass A är superklassen och klass B är underklassen är alla egenskaper och metoder för klass A tillgängliga för klass B. Det finns bara en nivå; därför kallas det som en arv på en nivå.

Arv på flera nivåer

I arv på flera nivåer finns det tre nivåer av klasser. Mellanklassen ärver från superklassen. Underklassen ärver från mellanklassen. Om det finns tre klasser som A, B och C och A är superklassen och B är mellanklassen. Då ärver B från A och C ärver från B, det är en arv på flera nivåer.

Flera arv

I multipel arv finns det många superklasser och en underklass. Om det finns tre superklasser som heter A, B, C och D är underklassen, kan klass D ärva från A, B och C. Multipel arv stöds i programmeringsspråket C ++. Det stöds inte i programmeringsspråk som Java eller C #. Gränssnitt används för att implementera flera arv på dessa språk.

Hierarkisk arv

Om det finns klasser som kallas A som superklasser och B, C är underklasser, kan dessa underklasser ärva egenskaper och metoder i klass A. Den typen av arvstyp kallas Hierarkisk arv.

Hybrid arv

Det finns en annan speciell arvstyp som kallas hybrid arv. Det är en kombination av flera nivåer och flera arv. Om A, B, C och D är klasser och B ärver från A och D ärver från både B och C, är det en hybrid arv.

Vilka är likheterna mellan polymorfism och arv i OOP?

Båda är begrepp för objektorienterad programmering

Vad är skillnaden mellan polymorfism och arv i OOP?

Skilja artikeln mitt före bordet

Polymorfism mot arv i OOP

Polymorfism är förmågan hos ett objekt att bete sig på flera sätt. Arv är att skapa en ny klass med hjälp av egenskaper och metoder för en befintlig klass.
Användande
Polymorfism används för objekt att anropa vilken form av metoder vid sammanställningstid och körtid. Arv används för återanvändbar kod.
Genomförande
Polymorfism implementeras i metoder. Arv implementeras i klasser.
Kategorier
Polymorfism kan delas in i överbelastning och åsidosättande. Arv kan delas in i ennivå, flernivå, hierarkisk, hybrid och multipelarv.

Sammanfattning - Polymorfism mot arv i OOP

Polymorfism och arv är viktiga begrepp inom objektorienterad programmering. Skillnaden mellan polymorfism och arv i OOP är att polymorfism är ett vanligt gränssnitt till flera former och arv är att skapa en ny klass med egenskaper och metoder för en befintlig klass. Båda koncepten används ofta i programvaruutveckling.

Ladda ner PDF Polymorphism vs Arv i OOP

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-version här Skillnaden mellan polymorfism och arv i OOP

Rekommenderas: