PočítačeSoftvér

Abstraktné triedy a metódy: opis, vlastnosti a funkcie. Čo je odlišné od abstraktné triedy rozhrania

Každý, kto má nejaké malé znalosti v oblasti programovania, premýšľal o tom, prečo tam sú abstraktné základné triedy. Aký je ich účel? Ako vytvoriť abstraktné triedu? Aké sú výhody, ktoré ponúkajú v praxi? Prečo sú nutné pri plánovaní a niektoré črty ich vykonávanie by mali brať do úvahy?

abstraktné triedy

Takže v programovacom nazýva kód jednotky, na základe ktorého nemožno vytvoriť objekty. Je potrebné poznamenať, že táto trieda nasledovníkov nemôže byť abstraktné. Preto vytvorenie objektov vychádza z nich je celkom možné. Ak vezmeme do úvahy príklad Java, my budujeme model, ktorý môžeme popísať konštruktory v triede A. Ale k ich používaniu, nemôžeme. Východiskom z tejto situácie je, aby oznámil akýkoľvek variabilný referenciu. A budete musieť byť jasne definované tak, aby odkazuje na objekt triedy A. To je, ako to možno urobiť? To nám pomôže priniesť. Je potrebné pripomenúť, že materská trieda je vždy považovaný za oveľa univerzálnejšie než potomka. V mnohých programovacích jazykoch používajú, aby automaticky. Ale ak nie je dôvera v prítomnosti takéhoto mechanizmu, potom je nutné explicitne odkazovať na objekt.

abstraktné metódy

Čo sú zač? Abstrakt volanie tieto postupy, ktoré nie sú implementované v tejto triede. Tak po zátvorky (ktorý uvádza argumenty v nej použitých) nedávajú tvarovaný otvor (načo sa nachádza blokového spôsobu), a to iba bodkočiarku. Takže v tomto prípade neexistujú žiadne informácie o tom, čo robí. Tu možné si položiť otázku: "A čo metóda bez realizácie?" Koniec koncov, keď sa nesmie používať! Samozrejme, že v triede, kde bol popísaný, to nie je možné. Ale ak vezmeme do úvahy situáciu z pohľadu potomka, môže byť nazývaný. A to bude fungovať na konkrétny popis k dispozícii v tejto triede.

Predstavuje abstraktné metódy

Existujú obmedzenia pri ich použití. Pozrime sa na príklad programovacieho jazyka Java. Tam je požiadavka v prípade, že trieda má aspoň jednu takú metódu, musí byť abstraktné. A v každom prípade je vhodné použiť také konštrukcie? Poďme pochopiť na príklade triede miláčikov. Ak chcete začať chápať, že nie je žiadny zvuk, aby boli zverejnené. Preto sa v najvšeobecnejšom triede nie je nakonfigurovaný správne vykonávanie tohto spôsobu. Ale vytvorili teleso, ktoré od seba cez bloky pre neho. A v nasledujúcom texte, pri vytváraní pes triedy, mačku alebo škrečka bude predpísaný jedinú metódu pre to, v rámci ktorého bude sprístupnené všetkým funkciám.

rozhranie

Pri programovaní vytvoril celý rad nástrojov, ktorých účelom - pomáhať ľuďom, aby si kvalitný výrobok. A téma do úvahy by sa mala venovať tomuto aspektu, a že každý vie, že na rozdiel od abstraktné triedy z rozhrania. Takže posledná rysom je, že to nemôže byť vlastnosti a metódy nie sú definované telo. Tým, že skúma rozdiel medzi abstraktné triedy z rozhrania, mali prebývať viac na jeden konkrétny. To znamená, že najprv sa dedí, zatiaľ čo druhý - je realizovaný. Neskúsený človek môže zdať bezvýznamné. Ale faktom je, že môžu byť dedičné iba jednu triedu, a uvedomil si - rovnako ako nevyhnutné. To je to, čo je odlišné od rozhrania z abstraktné triedy. Java je stále funkcie, ktoré možno opísať len abstraktné verejné metódy a statické konštanty. Ale v rovnakej rozhranie možno tiež zdedil. Je potrebné poukázať na to, že prevádzkovatelia používajú verejnosť prostredníctvom verejnosti.

Viacnásobná dedičnosť rozhranie

Táto funkcia nie je k dispozícii pre výučbu v mnohých programovacích jazykov (napr Java považovaným nami). To je spôsobené radom problémov. Ako také nejasnosti naznačujú, že sa vyskytujú v rade. To bol dôvod pre zavedenie dedičstvo Multiple Interface. Toto čiastočne rieši existujúce problémy, ale nie všetky. Takže, vďaka zásadám zapuzdrenie a polymorfizmus, rozhrania je možné úspešne realizovať v rôznych triedach podľa rôznych metód (aj keď bude mať rovnaký názov). Ale nezabudnite, o existujúcich problémov. Takže, keď pracujete s viacerými rozhraniami budú musieť vždy určiť, kto máme na mysli. Tiež problémy budú aj pri pokuse pracovať s rovnakým názvom dvoma spôsobmi - v tomto prípade nebudú môcť využiť. Preto sa v takýchto prípadoch je potrebné dbať na prítomnosť celkových tržieb.

abstraktné dátový

Tento koncept je kľúčom k programu. V tomto prípade, na základe odberu nezávislé preskúmanie a pochopiť oddelenia rozhrania a implementácie. Pozrime sa na príklad. Máme televíziu, čo je objekt alebo modul. Má rozhranie. Ako taký, oni sú ovládacie prvky, rovnako ako zvuk a obraz. Čím dokonalejšie rozhranie sa používa, tým pohodlnejšie používaný televízor. Môžeme prepínať medzi programami stlačením ľubovoľného tlačidla. V tomto prípade nie je potrebné premýšľať o fyzikálnych procesoch v televízii. O ne postarať odborníci, ktorí zbierajú zariadení. Máme radi ľudí zaujíma len vlastnosťami. Ak sa vrátime k programovaniu, môžeme povedať, že sú na podobné rozhranie a implementácie. Tiež, ak je človek presvedčený, vo svojom poznaní, že môže "odstrániť" pokrytie našej hypotetické televíziu a pre jej zlepšenie. Aj keď to môže viesť k lokálnym úspechu, vo väčšine prípadov, konečný výsledok je negatívny. Preto v podporovanom programovacom zákazu prístupu a skryť vnútorné súčasti abstraktných údajov. Princíp tohto mechanizmu poskytuje spôsob, ako zabrániť úmyselné alebo neúmyselné úpravu vnútorných súčastí. A keď hovorí o abstraktných dátových typov, priemer zo súboru súbor operácií, ktoré možno vykonávať na nich.

objektov

Už sme videli abstraktné triedy a rozhrania všeobecne a všeobecné. Teraz sa podrobne naše znalosti. Ak chcete začať venovať pozornosť objekty. Pod nimi všeobecne vedomí skutočnosti, životného prostredia, ktoré existuje v priestore a čase. Ale formálne identifikovať objekty v programe je ťažké (s filozofickým a teoretického hľadiska). Preto je vďaka svojim vlastnostiam. Ako príklad možno uviesť nasledujúce: Objekt môže byť jednoznačne identifikovaná (s jedinečný názov), je v určitom stave a používa určitý vzor správania.

dedičstvo

Vzhľadom k tomu, programovanie je založený na hierarchickom stromu budovanie vzťahov medzi objektmi, vyvstáva otázka o tom, že základné vlastnosti jednotlivých typov rodičovských knižníc kódov boli prevedené. Na základe dedičnosti pochopiť vzťah, keď niekto, kto opakuje správanie a štruktúru niečo iné. V bežnom živote, že možno nájsť všade. Také bolo odložené a programovanie relatívne abstraktné prvky. Pre porovnanie, skutočnosť, že neexistuje žiadny takýto subjekt ako vták. Je to abstraktné meno. V konkrétnom prípade viesť čaj, slávika alebo vrabca. Vďaka dedičstvu môžeme použiť knižnice tried, ako aj ich rozvoj pre konkrétny program. Tento nástroj nám umožňuje vytvárať nové objekty, súčasne pridaním alebo zmenou vlastností už vytvorený. Dedič dostane všetky metódy a oblasti jeho predchodca a získava svoje vlastné atribúty, ak je to nutné. Vzhľadom na to, že existuje abstraktné prvky a princíp dedičstvo, existuje dostatok príležitostí pre úpravu v rámci objektovo orientovaného programovania. Okrem toho, že umožňuje flexibilný prístup k riešeniu problémov. Keď sa dedia novú triedu prenesených dát a funkcií.

polymorfizmus

Je nutné použiť rovnakú funkciu pre riešenie rôznych typov problémov. V takom prípade poskytuje prítomnosť možnosti iného účinku, bude obsah, ktoré sú závislé na typu objektu, s ktorou sa práca vykonáva. Pod polymorfizmus pochopiť vlastnosti prvkov, ktoré majú spoločného predka, vykonať podobný sémantický význam tohto problému v rôznych spôsoboch. Čerpáme analógiu so zvieratami. Tam je akcia - na spustenie. Všetci vieme, ako sa to stane. Ale rôznych zvierat (lev, slon, šimpanz, krokodíl, korytnačka) táto akcia bude vykonávaná rôznymi spôsobmi. V tomto prípade, ich pohyb je zodpovedný developer, ktorý v prípade potreby môže viesť k určitému prípadu určitá rutina, algoritmov a úspešné vykonávanie. To sa vykonáva pomocou sady metód. Zároveň sa v každej triede programátor určuje, ktorý objekt vlastnosti, ktoré sú vlastné. Zmena niečo v potomstve, môžete dosiahnuť určité druhy požadované kroky v tomto prípade. Takýto jav sa nazýva polymorfie objektov. Všeobecne možno povedať, abstraktné trieda je veľmi užitočný nástroj pre programovanie.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sk.unansea.com. Theme powered by WordPress.