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.
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
Polymorfismen är att ange flera former. Ett objekt kan ha flera beteenden. Polymorfismen kan delas in i två kategorier. De är överbelastande och överordnade.
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.
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.
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.
Det finns olika typer av arv. De är enfärdig arv, flera nivåer arv, flera arv, hierarkisk arv och hybrid 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å.
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.
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.
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.
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.
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. |
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.
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