Matematické Fórum

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

#1 21. 07. 2016 14:06

Gooorila
Příspěvky: 33
Reputace:   
 

Srovnání strukturovaného programování a objektového programování

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

  • (téma jako vyřešené označil(a) gladiator01)

#2 21. 07. 2016 19:40

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Srovnání strukturovaného programování a objektového programování

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


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 21. 07. 2016 21:50

Gooorila
Příspěvky: 33
Reputace:   
 

Re: Srovnání strukturovaného programování a objektového programování

Srozumitelné. Děkuji

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson