Heredo estas unu el la ŝlosilaj konceptoj en programado objektorientita. Permesas al klaso heredi la trajtojn kaj metodojn de alia klaso.
Simpla heredo
Simpla heredo estas kiam klaso nur heredas trajtojn kaj metodojn de gepatra klaso. Imagu, ke vi havas gepatran klason nomatan "Besto" kaj infanan klason nomatan "Hundo". La "Hundo" klaso heredus la metodojn kaj trajtojn de la "Besta" klaso, kiel ekzemple "manĝi", "dormi", "spiri", inter aliaj.
Multobla heredo
Multobla heredo estas kiam klaso heredas trajtojn kaj metodojn de pli ol unu gepatra klaso. Alivorte, infanklaso povas havi plurajn gepatrajn klasojn. Ĉi tiu speco de heredo eblas en iuj programlingvoj kiel C++, sed ne en aliaj kiel Java.
Kial multobla heredo ne estas permesita en ĉiuj programlingvoj?
Multobla heredo povas konduki al ambiguecproblemoj. Alivorte, se du gepatraj klasoj havas metodojn aŭ trajtojn kun la sama nomo, eble ne estas klare, kiun el tiuj metodoj aŭ trajtoj uzi por la infanklaso. Tial iuj programlingvoj ne permesas multoblan heredon.
Listo de programlingvoj kiuj subtenas multoblan heredon:
- C++
- Pitono
- Rubeno
Listo de programlingvoj, kiuj NE subtenas multoblan heredon:
- Java
- C#
- PHP
En konkludo, simpla heredo kaj multobla heredo estas du ŝlosilaj konceptoj en objekt-orientita programado. Simpla heredo implicas ke infanklaso povas nur heredi trajtojn kaj metodojn de unu gepatra klaso, dum multobla heredo implicas ke infanklaso povas heredi trajtojn kaj metodojn de pli ol unu gepatra klaso. Gravas noti, ke ne ĉiuj programlingvoj permesas multoblan heredon pro ebla ambigueco en metodoj kaj propraĵoj.
Certiĝu, ke vi komprenas la diferencon inter ĉi tiuj du ŝlosilaj konceptoj en objekt-orientita programado!
Mi estas Sebastián Vidal, komputila inĝeniero pasia pri teknologio kaj DIY. Krome, mi estas la kreinto de tecnobits.com, kie mi dividas lernilojn por fari teknologion pli alirebla kaj komprenebla por ĉiuj.