Verskil tussen polimorfisme en oorerwing in OOP

INHOUDSOPGAWE:

Verskil tussen polimorfisme en oorerwing in OOP
Verskil tussen polimorfisme en oorerwing in OOP

Video: Verskil tussen polimorfisme en oorerwing in OOP

Video: Verskil tussen polimorfisme en oorerwing in OOP
Video: Composition vs Inheritance Pro Tips 2024, November
Anonim

Sleutelverskil – Polimorfisme vs oorerwing in OOP

Object-Oriented Programming (OOP) word algemeen gebruik om sagteware te ontwikkel. Baie programmeertale ondersteun objekgeoriënteerde programmering. Objekgeoriënteerde programmering is 'n metodologie om 'n program te ontwerp deur klasse en objekte te gebruik. 'n Klas in OOP is 'n bloudruk om 'n voorwerp te skep. 'n Klas het eienskappe en metodes. 'n Voorwerp is 'n voorbeeld van 'n klas. OOP bevat vier pilare soos Oorerwing, Polimorfisme, Abstraksie en Enkapsulasie. Hierdie artikel bespreek die verskil tussen Polimorfisme en Oorerwing in OOP. Die belangrikste verskil tussen polimorfisme en oorerwing in OOP is dat polimorfisme die vermoë van 'n voorwerp is om op verskeie maniere op te tree en oorerwing is om 'n nuwe klas te skep deur eienskappe en metodes van 'n bestaande klas te gebruik.

Wat is Polimorfisme in OOP?

Polimorfisme is om veelvuldige vorms aan te dui. Een voorwerp kan veelvuldige gedrag hê. Polimorfisme kan in twee kategorieë verdeel word. Hulle oorlaai en oorheers.

Oorlaai

Verwys die onderstaande program wat in Java geskryf is.

Verskil tussen polimorfisme en oorerwing in OOP
Verskil tussen polimorfisme en oorerwing in OOP

Figuur 01: Oorlaai

Volgens bogenoemde program word 'n objek van tipe A geskep. Wanneer obj.sum(); dit sal die uitset gee wat verband hou met metode som(). Wanneer die obj.som(2, 3); dit sal die uitset gee wat verband hou met som(int a, int b). Daar kan waargeneem word dat dieselfde voorwerp verskillende gedrag het na gelang van die situasie. Wanneer daar verskeie metodes met dieselfde naam is, maar met verskillende parameters, staan dit bekend as oorlading. Dit staan ook bekend as statiese binding of samestelling van tyd polimorfisme.

Oorheersend

Nog 'n tipe polimorfisme is oorheersend. Verwys na die onderstaande program wat in Java geskryf is.

Verskil tussen polimorfisme en oorerwing in OOP_Figuur 02
Verskil tussen polimorfisme en oorerwing in OOP_Figuur 02

Figuur 02: Oorheersend

Volgens bogenoemde program is daar 'n metode vertoon() in klas A. Klas B strek vanaf klas A. Daarom is alle metodes in klas A toeganklik deur klas B. Dit is oorerwing. Die oorerwingsbegrip word later verder beskryf.

Klas B het ook dieselfde metode vertoon(). Wanneer 'n objek van tipe A geskep word en vertoonmetode aanroep, sal die afvoer B gee. Klas A vertoonmetode word deur klas B vertoonmetode oorheers. Dus, die uitset is B.

Wanneer daar metodes met dieselfde naam en dieselfde parameters is, maar in twee verskillende klasse, en hulle is gekoppel aan oorerwing, staan dit bekend as oorheersend. Dit staan ook bekend as Late binding, Dynamic Binding, Runtime Polymorphism. Oorlading en oorheersing word polimorfisme genoem. Dit is 'n belangrike konsep in objekgeoriënteerde programmering.

Wat is Erfenis in OOP?

Verwys die onderstaande program wat in Java geskryf is.

Sleutelverskil tussen polimorfisme en oorerwing in OOP
Sleutelverskil tussen polimorfisme en oorerwing in OOP

Figuur 03: Voorbeeld van erfenis

Volgens bogenoemde program het klas A metode som() en klas B het metode sub().

Die som()-metode van klas A kan in klas B gebruik word deur gebruik te maak van uitbreiding-sleutelwoord. Die hergebruik van die eienskappe en metodes in 'n bestaande klas om 'n nuwe klas te skep, staan bekend as Inheritance. Selfs daar is geen som() metode in klas B nie; dit word geërf van klas A. Oorerwing is nuttig vir kode herbruikbaarheid. Die ouer klas word die basisklas, superklas of ouerklas genoem. Die afgeleide klas word die subklas of kinderklas genoem.

tipes erfenis

Daar is verskeie tipes erfenis. Hulle is Enkelvlak-oorerwing, Veelvlak-erfenis, Veelvuldige oorerwing, Hiërargiese oorerwing en Hibriede oorerwing.

Enkelerfenis

In Enkelerfenis is daar 'n een superklas en een subklas. As klas A die superklas is en klas B die subklas is, is al die eienskappe en metodes van klas A toeganklik deur klas B. Daar is net een vlak; daarom word dit as enkelvlak-erfenis genoem.

Multi-Level Inheritance

In Multi-Level Inheritance is daar drie vlakke van klasse. Die intermediêre klas erf van superklas. Die subklas erf van die intermediêre klas. As daar drie klasse is as A, B en C en A is die superklas en B is die intermediêre klas. Dan erf B van A en C erf van B, dit is 'n Multi-Level Erfenis.

Multiple Inheritance

In meervoudige oorerwing is daar baie superklasse en een subklas. As daar drie superklasse is genaamd A, B, C en D is die subklas, dan kan klas D van A, B en C erf. Meervoudige oorerwing word in programmeertaal C++ ondersteun. Dit word nie ondersteun in programmeertale soos Java of C nie. Interfaces word gebruik vir die implementering van veelvuldige erfenis in hierdie tale.

Hierargiese erfenis

As daar klasse is wat A as superklasse genoem word en B, C subklasse is, kan daardie subklasse eienskappe en metodes van klas A erf. Daardie soort erfenistipe staan bekend as Hiërargiese Erfenis.

Hybrid Inheritance

Daar is nog 'n spesiale oorerwingstipe wat as Hibriede-oorerwing bekend staan. Dit is 'n kombinasie van multi-vlak en veelvuldige erfporsies. As A, B, C en D klasse is en B erf van A en D erf van beide B en C, dan is dit 'n Hibriede oorerwing.

Wat is die ooreenkomste tussen polimorfisme en oorerwing in OOP?

Albei is konsepte van objekgeoriënteerde programmering

Wat is die verskil tussen polimorfisme en oorerwing in OOP?

Polymorfisme vs oorerwing in OOP

Polimorfisme is die vermoë van 'n voorwerp om op verskeie maniere op te tree. Inheritance is om 'n nuwe klas te skep deur eienskappe en metodes van 'n bestaande klas te gebruik.
Gebruik
Polimorfisme word gebruik vir voorwerpe om watter vorm van metodes tydens samestellingstyd en looptyd te noem. Erfenis word gebruik vir kodeherbruikbaarheid.
Implementasie
Polimorfisme word in metodes geïmplementeer. Erfenis word in klasse geïmplementeer.
Kategorieë
Polimorfisme kan in oorlading en oorheersing verdeel word. Erfenis kan verdeel word in enkelvlak-, multivlak-, hiërargiese, baster- en meervoudige erfenis.

Opsomming – Polimorfisme vs oorerwing in OOP

Polimorfisme en oorerwing is hoofbegrippe in objekgeoriënteerde programmering. Die verskil tussen polimorfisme en oorerwing in OOP is dat polimorfisme 'n algemene koppelvlak is vir veelvuldige vorms en oorerwing is om 'n nuwe klas te skep deur eienskappe en metodes van 'n bestaande klas te gebruik. Albei konsepte word wyd gebruik in sagteware-ontwikkeling.

Laai die PDF Polymorphism vs Inheritance af in OOP

Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief PDF-weergawe hier af Verskil tussen polimorfisme en oorerwing in OOP

Aanbeveel: