Sleutelverskil – Veelvuldige vs veelvuldige erfenis
Object-Oriented Programming (OOP) is 'n paradigma om 'n program te ontwerp deur klasse en metodes te gebruik. Werklike scenario's kan na voorwerpe gekarteer word. Daarom is dit maklik om sagteware-oplossings te bou. 'n Klas is 'n bloudruk om 'n voorwerp te bou. Dit bevat eienskappe en metodes. Byvoorbeeld, voordat 'n student-objek geskep word, moet daar 'n klasstudent wees met eienskappe en metodes. 'n Student kan eienskappe hê soos studente-ID, naam en metodes soos lees, skryf, studeer. Metodes beskryf die gedrag terwyl eienskappe die eienskappe is. Nadat die klas geskep is, is dit moontlik om voorwerpe te skep deur hulle te gebruik. Voorwerpskepping staan ook bekend as Object Instantiation. Voorwerp bestaan nie in isolasie nie. Hulle kommunikeer met ander voorwerpe en data word binne voorwerpe deurgegee. Een pilaar van OOP is Erfenis. Die doel van Inheritance is om kode herbruikbaarheid te verhoog. Dit skep 'n nuwe klas eienskappe en metodes van die reeds bestaande klas. Die bestaande klas staan bekend as die basisklas, en die nuwe klas word die afgeleide klas genoem. Meervoudige erfenis en meervlakkige erfenis is erfenistipes. Hierdie artikel bespreek die verskil tussen hulle. Die sleutelverskil tussen meervoudige en veelvuldige erfenis is dat meervoudige oorerwing is wanneer 'n klas van baie basisklasse erf, terwyl veelvuldige oorerwing is wanneer 'n klas van 'n afgeleide klas erf wat daardie afgeleide klas 'n basisklas vir 'n nuwe klas maak.
Wat is meervoudige erfenis?
Multiple Inheritance is wanneer 'n klas meer as een basisklas erf.
Figuur 01: Veelvuldige erfenis
A B en C is klasse. A en B is basisklasse, en C is die afgeleide klas. Die klas C moet die afhanklikheid van beide basisklasse A en B bestuur. Veelvuldige oorerwings word nie algemeen in sagtewareprojekte gebruik nie. Dit maak die stelsel meer kompleks omdat een klas baie klasse erf.
Byvoorbeeld, aanvaar dat klas A en B albei 'n metode met dieselfde naam het wat die som() is en klas C lei beide klasse af. Nadat 'n objek van tipe C geskep is en die som () metode geroep het, kan dit 'n fout veroorsaak omdat beide klasse dieselfde metode het. Die samesteller weet nie watter funksie om te bel nie. Daarom verhoog meervoudige oorerwing die kompleksiteit van 'n stelsel. Multiple Inheritance word in C++-taal ondersteun, maar tale soos Java, C ondersteun nie Multiple Inheritance nie. In plaas daarvan gebruik hierdie tale koppelvlak wat soortgelyk is aan 'n klas, maar kan nie geïnstansieer word nie.
Wat is Multilevel Inheritance?
Multilevel Inheritance is wanneer 'n klas van 'n afgeleide klas erf wat daardie afgeleide klas 'n basisklas vir 'n nuwe klas maak.
Figuur 02: Meervlak-erfenis
Meervuldige erfenis het drie vlakke. Die intermediêre klas wat B van klas A erf en klas C van klas B erf. A is die basisklas vir B en B is die basisklas vir C.
'n Program wat Multilevel Inheritance implementeer, is soos volg. Die program is met Java geskryf.
Figuur 03: Program wat Multilevel Inheritance implementeer
Volgens bogenoemde program is klas A die basisklas vir klas B. Klas B is die basisklas vir klas C. Alle eienskappe en metodes van klas A is toeganklik deur klas B. Alle eienskappe en metodes van klas B is toeganklik deur klas C. Daarom kan klas C toegang verkry tot eienskappe en metodes van beide A en B. Wanneer 'n objek van tipe C geskep word, is dit moontlik om al drie metodes A (), B () en C () te noem. Die uitset sal A, B, C gee.
Wat is die ooreenkoms tussen meervoudige en veelvuldige erfenis?
Albei is tipes erfenis
Wat is die verskil tussen meervoudige en veelvuldige erfenis?
Multiple Inheritance vs Multilevel Inheritance |
|
Multiple Inheritance is 'n erfenistipe waar 'n klas van meer as een basisklas erf. | Multilevel Inheritance is 'n erfenistipe wat van 'n afgeleide klas erf, wat daardie afgeleide klas 'n basisklas vir 'n nuwe klas maak. |
Gebruik | |
Multiple Inheritance word nie algemeen gebruik nie, want dit maak die stelsel meer kompleks. | Multilevel Inheritance word wyd gebruik. |
Klasvlakke | |
Multiple Inheritance het twee klasvlakke, naamlik basisklas en afgeleide klas. | Multilevel Inheritance het drie klasvlakke, naamlik basisklas, intermediêre klas en afgeleide klas. |
Opsomming – Veelvuldige vs Multivlak-erfenis
Erfenis is 'n belangrike pilaar van objekgeoriënteerde programmering. Daar is verskillende tipes Erfenis; hulle is Enkelvlak-erfenis, Meervlak-erfenis, Meervoudige Erfenis, Hiërargiese Erfenis en Hibried-erfenis. Die Enkelvlak-erfenis het een basisklas en een afgeleide klas. Hiërargiese erfenis het een basisklas en baie afgeleide klasse. Die hibriede oorerwing is 'n kombinasie van meervoudige en meervoudige oorerwing. Hierdie artikel beskryf die verskil tussen meervoudige erfenis en veelvuldige erfenis. Die verskil tussen veelvuldige en veelvuldige erflatings is dat meervoudige oorerwing is wanneer 'n klas van baie basisklasse erf, terwyl meervlakvererf is wanneer 'n klas van 'n afgeleide klas erf, wat daardie afgeleide klas 'n basisklas vir 'n nuwe klas maak. Multilevel Inheritance word wyd gebruik as Multiple Inheritance.
Laai die PDF Veelvuldige vs Multivlak-erfenis af
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 veelvuldige en veelvuldige erfenis