Forskjellen mellom polymorfisme og arv i OOP

Nøkkelforskjell - Polymorfisme vs arvelighet i OOP
 

Objektorientert programmering (OOP) brukes ofte til å utvikle programvare. Mange programmeringsspråk støtter objektorientert programmering. Objektorientert programmering er en metode for å designe et program ved hjelp av klasser og objekter. En klasse i OOP er en tegning for å skape et objekt. En klasse har egenskaper og metoder. Et objekt er en forekomst av en klasse. OOP inneholder fire pilarer som arv, polymorfisme, abstraksjon og innkapsling. Denne artikkelen diskuterer forskjellen mellom polymorfisme og arv i OOP. De nøkkelforskjell mellom polymorfisme og arv i OOP er det Polymorfisme er evnen til et objekt å oppføre seg på flere måter, og arv er å skape en ny klasse ved hjelp av egenskaper og metoder i en eksisterende klasse.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er polymorfisme i OOP
3. Hva er arv i OOP
4. Likheter mellom polymorfisme og arv i OOP
5. Side ved side-sammenligning - Polymorfisme vs arvelighet i OOP i tabellform
6. Sammendrag

Hva er polymorfisme i OOP?

Polymorfisme er å indikere flere former. Ett objekt kan ha flere oppføringer. Polymorfisme kan deles inn i to kategorier. De er overbelastende og tvingende.

overbelastning

Se underprogrammet som er skrevet i Java.

Figur 01: Overbelastning

I henhold til det ovennevnte programmet opprettes et objekt av type A. Når du ringer obj.sum (); Det vil gi utgangen relatert til metode sum (). Når du ringer til obj.sum (2,3); Det vil gi utgangen relatert til summen (int a, int b). Det kan observeres at det samme objektet har forskjellige oppførsel, avhengig av situasjonen. Når det er flere metoder med samme navn, men med forskjellige parametere, er det kjent som overbelastning. Det er også kjent som statisk binding eller kompilere tidspolymorfisme.

Overstyre

En annen type polymorfisme er overordnet. Se underprogrammet som er skrevet i Java.

Figur 02: Overstyrende

I henhold til det ovennevnte programmet er det en metodevisning () i klasse A. Klasse B strekker seg fra klasse A. Derfor er alle metoder i klasse A tilgjengelige i klasse B. Det er arv. Arvskonceptet er beskrevet senere.

Klasse B har også samme metodevisning (). Når du oppretter et objekt av type A og kalles visningsmetode, vil utgangen gi B. Klasse A-visningsmetode overskrides av klasse B-visningsmetode. Så er utgangen B.

Når det finnes metoder med samme navn og samme parametere, men i to forskjellige klasser, og de er knyttet til arv, er det kjent som overordnet. Det er også kjent som Sen binding, Dynamic Binding, Runtime Polymorphism. Overbelastning og overstyring kalles som polymorfisme. Det er et stort konsept i Objektorientert Programmering.

Hva er arv i OOP?

Se underprogrammet som er skrevet i Java.

Figur 03: Eksempel på arv

I følge det ovennevnte programmet har klasse A metode sum () og klasse B har metode sub ().

Summen () -metoden til klasse A kan brukes i klasse B ved å utvide søkeord. Å gjenbruke egenskapene og metodene i en eksisterende klasse for å opprette en ny klasse kalles arvelighet. Selv det er ingen sum () metode i klasse B; den er arvet fra klasse A. Arvelighet er nyttig for gjenbruk av kode. Den eldre klassen kalles grunnklasse, superklasse eller foreldre klasse. Den avledede klassen kalles underklasse eller barneklasse.

Typer arv

Det finnes ulike typer arv. De er ensartede arv, flernivå arv, flere arv, hierarkisk arv og hybrid arv.

Enkel arv

I Enkelt Arv er det en superklasse og en underklasse. Hvis klasse A er superklassen og klasse B er underklassen, er alle egenskaper og metoder for klasse A tilgjengelig i klasse B. Det er bare ett nivå; derfor kalles den som engangs arv.

Multi-level arv

I flernivå arv er det tre nivåer av klasser. Mellomklassen arver fra superklasse. Underklassen arver fra mellomklassen. Hvis det er tre klasser som A, B og C og A er superklassen og B er mellomklassen. Deretter ar arver fra a og c arver fra b, det er en multi-level arvelighet.

Flere arv

I flere arv er det mange superklasser og en underklasse. Hvis det er tre superklasser som heter A, B, C og D er underklassen, så kan klasse D arve fra A, B og C. Flere arv støttes i programmeringsspråket C ++. Den støttes ikke i programmeringsspråk som Java eller C #. Grensesnitt brukes til å implementere flere arv på disse språkene.

Hierarkisk arv

Hvis det er klasser som heter A som superklasser og B, C er underklasser, kan disse underklassene arve egenskaper og metoder i klasse A. Denne typen arvstype er kjent som hierarkisk arv.

Hybrid arv

Det er en annen spesiell arvstype som er kjent som hybrid arv. Det er en kombinasjon av flere nivåer 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.

Hva er likhetene mellom polymorfisme og arv i OOP?

  • Begge er begreper Object Oriented Programming.

Hva er forskjellen mellom polymorfisme og arv i OOP?

Polymorfisme vs arvelighet i OOP

Polymorfisme er en objektets evne til å oppføre seg på flere måter. Arv er å skape en ny klasse ved hjelp av egenskaper og metoder i en eksisterende klasse.
 bruk
Polymorfisme brukes til objekter å kalle hvilken form for metoder på kompileringstid og kjøretid. Arv brukes til kodenes gjenbrukbarhet.
Gjennomføring
Polymorfisme er implementert i metoder. Arv er implementert i klasser.
 kategorier
Polymorfisme kan deles i overbelastning og overordnet. Arv kan deles inn på enkeltnivå, multi-nivå, hierarkisk, hybrid og flere arv.

Sammendrag - Polymorfisme vs arvelighet i OOP 

Polymorfisme og arv er viktige begreper i Objektorientert Programmering. Forskjellen mellom polymorfisme og arv i OOP er at polymorfisme er et felles grensesnitt for flere former og arv er å skape en ny klasse ved hjelp av egenskaper og metoder i en eksisterende klasse. Begge konseptene er mye brukt i Software Development.

Last ned PDF Polymorphism vs Arv i OOP

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjon her Forskjellen mellom polymorfisme og arv i OOP

Henvisning:
  1. 8.3 Hva er arvelighet i Java | Forelesning | Opplæringen, Telusko Learning, 15. mai 2014. Tilgjengelig her  
  2. Polymorfisme i Java-opplæringen, Telusko Learning, 15. mai 2014. Tilgjengelig her