Nøgleforskel - Polymorfisme vs arv i OOP
Objektorienteret programmering (OOP) bruges ofte til at udvikle software. Mange programmeringssprog understøtter objektorienteret programmering. Objektorienteret programmering er en metode til at designe et program ved hjælp af klasser og objekter. En klasse i OOP er en plan for at oprette et objekt. En klasse har egenskaber og metoder. Et objekt er en forekomst af en klasse. OOP indeholder fire søjler såsom arv, polymorfisme, abstraktion og indkapsling. Denne artikel diskuterer forskellen mellem polymorfisme og arv i OOP. Hovedforskellen mellem polymorfisme og arv i OOP er, at polymorfisme er et objekts evne til at opføre sig på flere måder, og arv er at oprette en ny klasse ved hjælp af egenskaber og metoder fra en eksisterende klasse.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er polymorfisme i OOP
3. Hvad er arv i OOP
4. Ligheder mellem polymorfisme og arv i OOP
5. Sammenligning side om side - Polymorfisme vs arv i OOP i tabelform
6. Resumé
Hvad er polymorfisme i OOP?
Polymorfisme er at angive flere former. Et objekt kan have flere adfærd. Polymorfisme kan opdeles i to kategorier. De overbelaster og tilsidesætter.
Overbelastning
Se nedenstående program skrevet i Java.
Figur 01: Overbelastning
I henhold til ovenstående program oprettes et objekt af type A. Når du ringer til obj.sum (); det vil give output relateret til metodesum (). Når du ringer til obj.sum (2,3); det vil give output relateret til sum (int a, int b). Det kan observeres, at det samme objekt har forskellige adfærd afhængigt af situationen. Når der er flere metoder med samme navn, men med forskellige parametre, kaldes det overbelastning. Det er også kendt som statisk binding eller kompileringstidspolymorfisme.
Tilsidesættelse
En anden type polymorfisme er overordnet. Se nedenstående program skrevet i Java.
Figur 02: Tilsidesættelse
I henhold til ovenstående program er der en metodevisning () i klasse A. Klasse B strækker sig fra klasse A. Derfor er alle metoder i klasse A tilgængelige i klasse B. Det er arv. Arvekonceptet beskrives yderligere senere.
Klasse B har også den samme metodevisning (). Når der oprettes et objekt af type A og displayvisningsmetode, vil output give B. Klasse A-visningsmetode tilsidesættes af klasse B-visningsmetode. Så output er B.
Når der er metoder med samme navn og samme parametre, men i to forskellige klasser, og de er knyttet til arv, er det kendt som tilsidesættelse. Det er også kendt som Late binding, Dynamic Binding, Runtime Polymorphism. Overbelastning og tilsidesættelse kaldes polymorfisme. Det er et stort koncept inden for objektorienteret programmering.
Hvad er arv i OOP?
Se nedenstående program skrevet i Java.
Figur 03: Eksempel på arv
I henhold til ovenstående program har klasse A metodesum () og klasse B har metode sub ().
Summen () -metoden i klasse A kan bruges i klasse B ved hjælp af udvidet nøgleord. At genbruge egenskaberne og metoderne i en eksisterende klasse til at oprette en ny klasse kaldes arv. Selv der er ingen sum () metode i klasse B; det arves fra klasse A. Arv er nyttigt til genanvendelighed af kode. Den ældre klasse kaldes basisklassen, superklassen eller forældreklassen. Den afledte klasse kaldes underklassen eller underordnet klasse.
Typer af arv
Der er forskellige typer arv. De er arv på enkelt niveau, arvelighed på flere niveauer, flere arv, hierarkiske arv og hybrid arv.
Enkelt arv
I Single Arv er der en superklasse og en underklasse. Hvis klasse A er superklassen, og klasse B er underklassen, er alle egenskaber og metoder i klasse A tilgængelige i klasse B. Der er kun et niveau; derfor kaldes det som enkelt-niveau arv.
Multi-niveau arv
I arvelighed på flere niveauer er der tre niveauer af klasser. Mellemklassen arver fra superklassen. Underklassen arver fra mellemklassen. Hvis der er tre klasser som A, B og C, og A er superklassen, og B er mellemklassen. Derefter arver B fra A og C arver fra B, det er en arvelighed på flere niveauer.
Flere arv
I Multiple Arv er der mange superklasser og en underklasse. Hvis der er tre superklasser kaldet A, B, C og D er underklassen, kan klasse D arve fra A, B og C. Flere arv understøttes i programmeringssprog C ++. Det understøttes ikke i programmeringssprog som Java eller C #. Grænseflader bruges til implementering af flere arv på disse sprog.
Hierarkisk arv
Hvis der er klasser kaldet A som superklasser, og B, C er underklasser, kan disse underklasser arve egenskaber og metoder i klasse A. Den slags arvetype kaldes Hierarkisk arv.
Hybrid arv
Der er en anden speciel arvetype, der er kendt som hybrid arv. Det er en kombination af flere niveauer og flere arv. Hvis A, B, C og D er klasser, og B arver fra A, og D arver fra både B og C, så er det en hybrid arv.
Hvad er ligheden mellem polymorfisme og arv i OOP?
Begge er begreber inden for objektorienteret programmering
Hvad er forskellen mellem polymorfisme og arv i OOP?
Diff artikel midt foran bordet
Polymorfisme vs arv i OOP |
|
Polymorfisme er en genstands evne til at opføre sig på flere måder. | Arv er at oprette en ny klasse ved hjælp af egenskaber og metoder i en eksisterende klasse. |
Anvendelse | |
Polymorfisme bruges til objekter, der skal kaldes, hvilken form for metoder ved kompileringstid og runtime. | Arv bruges til genanvendelighed af kode. |
Implementering | |
Polymorfisme implementeres i metoder. | Arv implementeres i klasser. |
Kategorier | |
Polymorfisme kan opdeles i overbelastning og tilsidesættelse. | Arv kan opdeles i enkelt-niveau, multi-niveau, hierarkisk, hybrid og multipel arv. |
Resumé - Polymorfisme vs arv i OOP
Polymorfisme og arv er vigtige begreber i objektorienteret programmering. Forskellen mellem polymorfisme og arv i OOP er, at polymorfisme er en fælles grænseflade til flere former, og arv er at skabe en ny klasse ved hjælp af egenskaber og metoder i en eksisterende klasse. Begge begreber bruges meget i softwareudvikling.
Download PDF Polymorfisme vs arv i OOP
Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem polymorfisme og arv i OOP