Skillnad mellan polymorfism och arv i OOP

Huvudskillnad - Polymorfism vs 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 designa ett program med 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 som arv, polymorfism, abstraktion och inkapsling. I denna artikel diskuteras skillnaden mellan polymorfism och arv i OOP. De nyckelskillnad mellan polymorfism och arv i OOP är det Polymorfism är ett objekts förmåga att uppträda på flera sätt och arv är att skapa en ny klass med egenskaper och metoder i 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. Side vid sida-jämförelse - Polymorfism vs arv i OOP i tabellform
6. Sammanfattning

Vad är polymorfism i OOP?

Polymorfismen är att ange flera former. Ett objekt kan ha flera beteenden. Polymorfismen kan delas in i två kategorier. De är överbelastande och överordnade.

överbelastning

Se nedan programmet skrivet i Java.

Figur 01: Överbelastning

Enligt ovanstående program skapas ett objekt av typ A. När du ringer obj.sum (); Det kommer att ge resultatet relaterat till metod summan (). När man ringer obj.sum (2,3); det kommer att ge utgången relaterad till summa (int a, int b). Det kan observeras att samma föremål har olika beteenden beroende på situationen. När det finns flera metoder med samma namn, men med olika parametrar är det känt som överbelastning. Det är också känt som statisk bindning eller sammanställa tidspolymorfism.

tvingande

En annan typ av polymorfism är tvingande. Se nedan programmet skrivet i Java.

Figur 02: Övergripande

Enligt ovanstående program finns 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 senare.

Klass B har också samma metodvisning (). När man skapar ett föremål av typ A och kallar visningsmetod, kommer utmatningen att ge B. Klass A-visningsmetoden överskrids genom visningsmetod för klass B. Så, utgången ä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 Sen bindning, dynamisk bindning, runtime polymorphism. Överbelastning och överordnande kallas Polymorphism. Det är ett viktigt begrepp i objektorienterad programmering.

Vad är arv i OOP?

Se nedan programmet skrivet i Java.

Figur 03: Exempel på arv

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

Summan () -metoden för klass A kan användas i klass B med förlängningsordet. Att återanvända egenskaper och metoder i en befintlig klass för att skapa en ny klass kallas arv. Även det finns ingen sum () metod i klass B; Det är ärvt från klass A. Erfarenhet är användbar för kodåteranvändning. Den äldre klassen heter basklass, superklass eller föräldraklass. Den härledda klassen heter underklass eller barnklass.

Typer av arv

Det finns olika typer av arv. De är enfärdig arv, flera nivåer arv, flera arv, hierarkisk arv och hybrid arv.

Single Arv

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

Multi-level arv

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

Multipla arv

I flera arv är det många superklasser och en underklass. Om det finns tre superklasser som heter A, B, C och D är underklassen, då kan klass D arva från A, B och C. Multipla 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 heter A som superklasser och B, C är underklasser, kan dessa underklasser arva egenskaper och metoder i klass A. Den här typen av arvstyp är känd som hierarkisk arv.

Hybrid arv

Det finns en annan speciell arvstyp som är känd som Hybrid Erfarenhet. Det är en kombination av flera nivåer och flera arv. Om A, B, C och D är klasser och B ärar från A och D ärar från både B och C, är det ett hybrid arv.

Vad ä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?

Polymorfism vs arv i OOP

Polymorfism är ett objekts förmåga att uppträda på flera sätt. Erfarenhet är att skapa en ny klass med egenskaper och metoder i en befintlig klass.
 Användande
Polymorfism används för objekt att ringa vilken form av metoder vid kompileringstid och körtid. Arv används för kodåteranvändning.
Genomförande
Polymorfismen implementeras i metoder. Erfarenhet genomförs i klasser.
 kategorier
Polymorfismen kan delas upp i överbelastning och överordnande. Arv kan delas in i en nivå, flera nivåer, hierarkiska, hybrid och flera arv.

Sammanfattning - Polymorfism vs arv i OOP 

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

Ladda ner PDF Polymorphism vs Arv i OOP

Du kan hämta PDF-versionen av den här artikeln och använda den för offlineändamål enligt citationsnotat. Var god ladda ner PDF-version här Skillnaden mellan polymorfism och arv i OOP

Referens:
  1. 8.3 Vad är arv i Java | Föreläsning | Handledning, Telusko Learning, 15 maj 2014. Tillgänglig här  
  2. Polymorfism i Java-handledning, Telusko Learning, 15 maj 2014. Tillgänglig här