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.
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.
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.
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