Charakteristiky programovania dedičstva, typy, príklady
- 3099
- 890
- Gabriel Bahna
Ten dedičstvo v programovaní objektovo orientovaný Je to spôsob organizácie predmetov v hierarchii od najbežnejších po najurčitejšie. Je to gadget, ktorý sa používa na rozšírenie triedy v inej triede a zachováva analogické vykonanie.
Vo väčšine tried orientovaných jazykov založených na objektoch založených na triede, objekt vytvorený dedičstvom, nazývaný detský objekt, získava všetky vlastnosti a správanie rodičovského objektu.
Jednoduchá demonštrácia dedičstva v orientácii na objekt. Zdroj: Pluke / CC0 Creative Commons CC0 1.0 univerzálna verejná doménaPreto je to kvalita, ktorá predstavuje vzťah medzi rôznymi triedami. Dedičnosť umožňuje jednej triede mať rovnaké správanie ako iná trieda a rozšíriť alebo prispôsobiť toto správanie tak, aby poskytla špeciálne kroky pre konkrétne potreby.
Dedičnosť môže pomôcť reprezentovať objekty, ktoré majú určité rozdiely a určité podobnosti v spôsobe, akým pracujú. Všetky funkcie, ktoré majú objekty spoločné.
[TOC]
Charakteristika dedičstva
Dedičnosť je jednou z kľúčových charakteristík programovania orientovaného na objekt, ktoré slúži na definovanie novej triedy z existujúcich tried.
To znamená, že je možné odvodiť nové triedy existujúcich základných tried, ktoré pridávajú nové funkcie. Nemusíte písať od nuly. Dedičnosť preto poskytuje spôsob, ako ľahko znova použiť existujúci kód.
Ak už máte triedu, ktorá robí takmer všetko, čo chcete, môžete vytvoriť podtriedu, v ktorej časti vášho správania je čiastočne zrušené, alebo sa možno pridá nejaká nová funkcia.
Odvodená trieda zdedí všetky metódy základnej triedy, s výnimkou nasledujúcich:
Môže vám slúžiť: Analógové počítače: Charakteristiky, komponenty, typy- Staviteľov, torpédoborce a kopírovacie staviteľov.
- Preťažené operátory základnej triedy.
- Základné funkcie priateľské k triede.
Hierarchia
Ako robí rodokmeň, dedičstvo slúži na vytvorenie hierarchie tried. Je dôležité poznamenať, že atribúty určené pre základnú triedu budú automaticky prítomné v odvodenej triede. Okrem toho metódy základnej triedy budú fungovať pre deriváty.
Hovorí sa, že trieda bude podtriedou, ktorej triedu zdedí. Na druhej strane, táto trieda bude vaša nadtrieda. Môže označovať naj generickejšiu triedu ako základnú triedu, pretože je na spodnej časti hierarchie.
Polymorfizmus
V niektorých jazykoch s statickými typmi je dedičstvo veľmi populárne.
Objekt, ktorý zdedí od iného objektu, sa považuje za podtyp tohto objektu. Príkladom by mohol byť „inštruktor“ a „študentské“ objekty, z ktorých každý zdedí „osobu“.
Ak sú inštruktor a študent rovnakou osobou, môžete napísať funkciu, ktorá akceptuje typ osoby ako parameter a ktorá funguje v inštruktoroch a študentských objektoch, pretože obaja sú dedičmi osoby.
Typy dedičstva
Jedinečné dedičstvo
Keď odvodená trieda zdedí vlastnosti a správanie jednej triedy. To znamená, že jedna trieda sa rozširuje na inú jednotlivú triedu.
Viacúrovňové dedičstvo
Vzťahuje sa na gadget, kde môžete zdediť od odvodenej triedy, vďaka čomu je táto odvodená trieda základná trieda pre novú triedu. To znamená, že výsledkom je, keď je odvodená trieda vytvorená z inej odvodenej triedy.
Môže vám slúžiť: Von Neumann Architecture: Origin, Model, How to FungingHierarchické dedičstvo
V tomto dedičstve mnohé podtriedy zdedí z jednej triedy. To znamená, že sa stáva, keď je jediná základná trieda zdedená viac ako jedna odvodená trieda.
Hybridné dedičstvo
Je to výsledné dedičstvo, keď sa kombinuje ktorékoľvek z troch predchádzajúcich dedičstiev (jedinečné, hierarchické a viacúrovňové)).
Viacnásobné dedičstvo
Zodpovedá dedičskej postave, keď trieda zdedí viac ako jednu supertry. Existujúce nepríjemnosti s týmto typom dedičstva spočívajú v tom, že odvodená trieda bude musieť spracovať závislosť, ktorú má, s dvoma základnými triedami.
Na druhej strane, tento typ dedičstva umožňuje programátorom postaviť triedy, ktoré kombinujú aspekty viacerých tried a ich zodpovedajúce hierarchie.
Typy dedičstva od základnej triedy
Dedičstvo verejnosti
Ak je trieda odvodená z triedy verejnej základne, verejné členovia základnej triedy sa stanú verejnými členmi odvodenej triedy a chránenými členmi základnej triedy sa stanú chránenými členmi odvodenej triedy.
Súkromní členovia nadtriedy nikdy nebudú dostupní priamo z odvodenej triedy, ale môžete k nim mať prístup prostredníctvom hovorov pre verejných členov a chránených pred základnou triedou.
Chránené dedičstvo
Keď je vytvorená trieda, ktorá zdedí z chránenej nadtrieskovej triedy, verejní členovia a chránení pred touto nadtrudovou triedou sa stanú chránenými členmi odvodenej triedy.
Súkromné dedičstvo
Keď je podtrieda vytvorená zo súkromnej nadtriedy, členovia, ktorí sú verejní a chránení pred touto nadtrojením, sa stanú súkromnými členmi podtriedy.
Príklady
Príklad v Pythone
Aby som ukázal, ako funguje princíp dedičstva, roboty alebo lepšia trieda robotov sa berú v programovacom jazyku Python. Z tohto dôvodu bude špecifikovaná trieda s názvom RobotMedic (Lekár), ktorý je odvodený od robotického superclass.
Môže vám slúžiť: priemyselné rastliny PeruAk je pozorovaný kód triedy robotmed, je zrejmé, že v tejto triede neboli definované žiadny atribút alebo metóda.
Pretože robotická trieda je robotická podtrieda, zdedte v tomto prípade metódu __init__ a Say_hi. Zdedenie týchto metód znamená, že sa dajú použiť, akoby boli definované v robotách.
Keď sa vytvorí robotická inštancia, funkcia __init__ tiež vytvorí atribút mena. Metóda Say_HI je možné použiť na robotmedický objekt „y“, ako je vidieť v dôsledku predchádzajúceho kódu.
Príklad v c++
Trieda môže zdediť viac ako jednu triedu, čo znamená, že môže zdediť údaje a funkcie niekoľkých supertrieskov. Na definovanie odvodenej triedy sa na určenie základných tried používa zoznam derivácií triedy.
Zoznam tried odporúčania v C ++ uvádza jednu alebo viac základných tried a má nasledujúci spôsob: Trieda Podriadený triedu: Prístup k prístupu Základná trieda, v ktorom Prístup k prístupu je verejný, Chránený ani Súkromné, a Základná trieda Je to názov predtým definovanej triedy. Ak sa nepoužíva Prístup k prístupu, Je zabraný Súkromné predvolený.
Super trieda „forma“ a jej odvodená trieda „obdĺžnik“ sa dá považovať za nasledovne:
Keď je predchádzajúci kód zostavený a vykonaný, dôjde k nasledujúcemu výsledku: „Celková oblasť: 35“.
Odkazy
- Dave Braunschweig (2020). Dedičnosť a polymorfizmus. Komunita. Prevzaté z: tlače.Autobus.Komunita.
- Python Course (2020). Dedičnosť. Prevzaté z: Python-Course.EÚ.
- Mentor údajov (2020). Dedičnosť. Zobraté z: Datamentar.Io.
- Výučby bodu (2020). Dedičstvo C ++. Zobraté z: Výučba.com.
- Netinformácie (2020). Rôzne typy dedičstva. Zobraté z: siete Informácie.com.
- « História skutočných čísel, príklady, vlastnosti, operácie
- David Ausubel Biograph, Teória, príspevky, diela »