PočítačeSoftware

Abstraktní třídy a metody: popis, vlastnosti a funkce. Co je odlišné od abstraktní třídy rozhraní

Každý, kdo má nějaké malé znalosti v oblasti programování, přemýšlel o tom, proč tam jsou abstraktní základní třídy. Jaký je jejich účel? Jak vytvořit abstraktní třídu? Jaké jsou výhody, které nabízejí v praxi? Proč jsou nutné při plánování a některé rysy jejich provádění by měly brát v úvahu?

abstraktní třídy

Takže v programovacím nazývá kód jednotky, na jehož základě nelze vytvořit objekty. Je třeba poznamenat, že tato třída následovníků nemůže být abstraktní. Proto vytvoření objektů vychází z nich je docela možné. Pokud vezmeme v úvahu příklad Java, my budujeme model, který můžeme popsat konstruktory ve třídě A. Ale k jejich používání, nemůžeme. Východiskem z této situace je, aby oznámil jakýkoliv variabilní referenci. A budete muset být jasně definovány tak, aby odkazuje na objekt třídy A. To je, jak to lze udělat? To nám pomůže přinést. Je třeba připomenout, že mateřská třída je vždy považován za mnohem univerzálnější než potomka. V mnoha programovacích jazycích používají, aby automaticky. Ale pokud není důvěra v přítomnosti takového mechanismu, pak je nutné explicitně odkazovat na objekt.

abstraktní metody

Co jsou zač? Abstrakt volání tyto postupy, které nejsou implementovány v této třídě. Tak po závorky (který uvádí argumenty v ní použitých) nedávají tvarovaný otvor (načež se nachází blokového způsobu), a to pouze středník. Takže v tomto případě neexistují žádné informace o tom, co dělá. Zde možné si položit otázku: „A co metoda bez realizace?“ Koneckonců, když se nesmí používat! Samozřejmě, že ve třídě, kde byl popsaný, to není možné. Ale pokud vezmeme v úvahu situaci z pohledu potomka, může být nazýván. A to bude fungovat na konkrétní popis k dispozici v této třídě.

Představuje abstraktní metody

Existují omezení při jejich použití. Podívejme se na příklad programovacího jazyka Java. Tam je požadavek v případě, že třída má alespoň jednu takovou metodu, musí být abstraktní. A v každém případě je vhodné použít takové konstrukce? Pojďme pochopit na příkladu třídě mazlíčky. Chcete-li začít chápat, že není žádný zvuk, aby byly zveřejněny. Proto se v nejobecnějším třídě není nastaven řádné provádění tohoto způsobu. Ale vytvořili těleso, které od sebe přes bloky pro něj. A v následujícím textu, při vytváření pes třídy, kočku nebo křečka bude předepsán jedinou metodu pro to, v jehož rámci bude zpřístupněny všem funkcím.

rozhraní

Při programování vytvořil celou řadu nástrojů, jejichž účelem - pomáhat lidem, aby si kvalitní výrobek. A téma v úvahu by měla být věnována tomuto aspektu, a že každý ví, že na rozdíl od abstraktní třídy z rozhraní. Takže poslední rysem je, že to nemůže být vlastnosti a metody nejsou definovány tělo. Tím, že zkoumá rozdíl mezi abstraktní třídy z rozhraní, měli přebývat více na jeden konkrétní. To znamená, že nejprve se dědí, zatímco druhý - je realizován. Nezkušený člověk může zdát bezvýznamné. Ale faktem je, že mohou být dědičné pouze jednu třídu, a uvědomil si - stejně jako nezbytné. To je to, co je odlišné od rozhraní z abstraktní třídy. Java je stále funkce, které lze popsat pouze abstraktní veřejné metody a statické konstanty. Ale ve stejné rozhraní lze také zdědil. Je třeba poukázat na to, že provozovatelé používají veřejnost prostřednictvím veřejnosti.

Vícenásobná dědičnost rozhraní

Tato funkce není k dispozici pro výuku v mnoha programovacích jazyků (např Java považovaným námi). To je způsobeno řadou problémů. Jako takové nejasnosti naznačují, že se vyskytují v řadě. To byl důvod pro zavedení dědictví Multiple Interface. Toto částečně řeší existující problémy, ale ne všechny. Takže, díky zásadám zapouzdření a polymorfismus, rozhraní lze úspěšně realizovat v různých třídách podle různých metod (i když bude mít stejný název). Ale nezapomeňte, o existujících problémů. Takže, když pracujete s více rozhraními budou muset vždy určit, kdo máme na mysli. Také problémy budou i při pokusu pracovat se stejným názvem dvěma způsoby - v tomto případě nebudou moci využít. Proto se v takových případech je třeba dbát na přítomnost celkových tržeb.

abstraktní datový

Tento koncept je klíčem k programu. V tomto případě, na základě odběru nezávislé přezkoumání a pochopit oddělení rozhraní a implementace. Podívejme se na příklad. Máme televizi, což je objekt nebo modul. Má rozhraní. Jako takový, oni jsou ovládací prvky, stejně jako zvuk a obraz. Čím dokonalejší rozhraní se používá, tím pohodlněji používaný televizor. Můžeme přepínat mezi programy stisknutím libovolného tlačítka. V tomto případě není potřeba přemýšlet o fyzikálních procesech v televizi. O ně postarat odborníci, kteří sbírají zařízení. Máme rádi lidi zajímá jen vlastnostmi. Vrátíme-li se k programování, můžeme říci, že jsou na podobné rozhraní a implementace. Také, pokud je člověk přesvědčen, ve svém poznání, že může „odstranit“ pokrytí naší hypotetické televizi a pro její zlepšení. I když to může vést k lokálním úspěchu, ve většině případů, konečný výsledek je negativní. Proto v podporovaném programovacím zákazu přístupu a skrýt vnitřní součásti abstraktních údajů. Princip tohoto mechanismu poskytuje způsob, jak zabránit úmyslné nebo neúmyslné úpravu vnitřních součástí. A když mluví o abstraktních datových typů, průměr ze souboru soubor operací, které lze provádět na nich.

objektů

Už jsme viděli abstraktní třídy a rozhraní obecně a obecné. Nyní se podrobně naše znalosti. Chcete-li začít věnovat pozornost objekty. Pod nimi obecně vědomi skutečnosti, životního prostředí, které existuje v prostoru a čase. Ale formálně identifikovat objekty v programu je obtížné (s filosofickým a teoretického hlediska). Proto je díky svým vlastnostem. Jako příklad lze uvést následující: Objekt může být jednoznačně identifikována (s jedinečný název), je v určitém stavu a používá určitý vzor chování.

dědictví

Vzhledem k tomu, programování je založen na hierarchickém stromu budování vztahů mezi objekty, vyvstává otázka o tom, že základní vlastnosti jednotlivých typů rodičovských knihoven kódů byly převedeny. Na základě dědičnosti pochopit vztah, když někdo, kdo opakuje chování a strukturu něco jiného. V běžném životě, že lze nalézt všude. Takové bylo odloženo a programování relativně abstraktní prvky. Pro srovnání, skutečnost, že neexistuje žádný takový subjekt jako pták. Je to abstraktní jméno. V konkrétním případě vést čaj, slavíka nebo vrabce. Díky dědictví můžeme použít knihovny tříd, jakož i jejich rozvoj pro konkrétní program. Tento nástroj nám umožňuje vytvářet nové objekty, současně přidáním nebo změnou vlastností již vytvořený. Dědic dostane všechny metody a oblasti jeho předchůdce a získává své vlastní atributy, pokud je to nutné. Vzhledem k tomu, že existuje abstraktní prvky a princip dědictví, existuje dostatek příležitostí pro úpravu v rámci objektově orientovaného programování. Kromě toho, že umožňuje flexibilní přístup k řešení problémů. Když se dědí novou třídu přenesených dat a funkcí.

polymorfismus

Je nutné použít stejnou funkci pro řešení různých typů problémů. V takovém případě poskytuje přítomnost možnosti jiného účinku, bude obsah, které jsou závislé na typu objektu, se kterou je práce vykonávána. Pod polymorfismus pochopit vlastnosti prvků, které mají společného předka, provést podobný sémantický význam tohoto problému v různých způsobech. Čerpáme analogii se zvířaty. Tam je akce - ke spuštění. Všichni víme, jak se to stane. Ale různých zvířat (lev, slon, šimpanz, krokodýl, želva) tato akce bude prováděna různými způsoby. V tomto případě, jejich pohyb je zodpovědný developer, který v případě potřeby může vést k určitému případu určitá rutina, algoritmů a úspěšné provádění. To se provádí pomocí sady metod. Zároveň se v každé třídě programátor určuje, který objekt vlastnosti, které jsou vlastní. Změna něco v potomstvu, můžete dosáhnout určité druhy požadované kroky v tomto případu. Takový jev se nazývá polymorfie objektů. Obecně lze říci, abstraktní třída je velmi užitečný nástroj pro programování.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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