Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Zdravím
Obě verze jsme probírali pouze okrajově, takže nemám přesnou představu, ale čelím dotazu, jaký je rozdíl mezi programováním strukturovaným a objektově orientovaným.
V zásadě chápu tak, že:
Strukturované programování je poskládáno z jednoduchých a strukturovaných příkazů (jednoduché čtení, tisk, přiřazení a strukturované cykly, větvení a sekvence), pomocí níž lze naprogramovat cokoli.
Objektové programování používá také jednoduché a strukturované příkazy, ale navíc vytváří třídy, se kterými programátor pracuje odlišně (pomocí metod). Při programování využíváme dědičnost, zapouzdření (zde to chápu onen přístup pomocí metod) a polymorfismus (zde si čtu podklady stále dokola, ale nějak si neumím představit, co přesně znamená).
Lze chápat tento popis ono srovnání, nebo Vás napadne nějaká lepší formulace? Případně, jestli zde přímo neuváním nějaké bludy a dotaz zní odlišně?
Děkuji, G
Offline
Strukturované programování
Sekvenční seznam příkazů. Program se dělí na procedury/funkce, které jsou sekvenčně volány.
př. C
Objektové programování
https://cs.wikipedia.org/wiki/Objektov% … %A1n%C3%AD
Množina tříd a jejich instancí (objektů), které spolu komunikují pomocí zpráv (tj. voláním metod)
Základní prvek je tedy třída (resp. objekt), což je abstrakce objektu z reálného světa.
Např. Třída popisuje auto: vlastnosti: rychlost, typ, barva,... a metody jet(), zastav(), trub(), ....
Instance (objekt) je jedno konkrétní auto se svými údaji.
Třída je tedy prototyp a instance konkrétní objekty.
zapouzdření: data jsou svázána s kódem (každý objekt obsahuje svůj kód a data), navenek třída poskytuje jen to co chce, implementace je skryta.
polymorfismus: objekty navenek poskytují stejné rozhraní, tj. veřejné metody, ale každý se může chovat jinak.
např. zvíře vydává zvuk, ale každý druh jiný. definujeme třídy kočka, pes, slepice, které budou mít metodu vydejZvuk(), která udělá konkrétní zvuk a rozhrani Zvíře, které jednotlivé druhy spojuje a též obsahuje fci vydejZvuk().
Při vytváření instancí potom můžeme použít toto rozhraní a objekty budou navenek vypadat stejně, ale budou vydávat konkrétní zvuky.
Zvíře [] { new Kočka(), new Slepice(), new Pes() }
Skládání – Objekt může obsahovat jiné objekty.
Dědičnost:
Hierarchický vztah mezi objekty. V předkovi jsou definovány vlastnosti a metody, které platí pro něj. Potomci tyto vlastnosti a metody zdědí (mohou je využívat) a přidají si vlastní.
Př: Java
Offline
Stránky: 1