Avatar
Kejmou
Člen
Avatar
Kejmou:

Ahoj,

chci se vás zeptat, když by jste dostali otázku.
Co je to OOP?
Jak by jste objektově orientované programování definovali?

 
Odpovědět 19.5.2014 19:58
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kejmou
Jan Vargovský:

Hledej, je to tu řešeno už několikrát...

EDIT: http://www.itnetwork.cz/…35008240d1c5 tu to Coells pěkně vysvětlil :)

Editováno 19.5.2014 20:02
 
Nahoru Odpovědět  -1 19.5.2014 19:59
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Kejmou
David Hynek:

jak bys na ni odpověděl ty? Naši odpověď si stejně nezapamatuješ, tak se pokus o vlastní...

Přiznám se, že skutečný význam a výhody OOP stále objevuji. Ale obecně to chápu tak, že pracuješ s objekty a jejich vlastnostmi. Objekty můžou mít své potomky a ti můžou mít nové vlastnosti, ale jádro jim zůstane od rodičů. Třeba "přímka", může mít potomka "čtverec", ten pak "kostku". Čtverec zdědí od předka rozměr a přidá mu vlastnost plocha. Kostka zdědí od prapředka rozměr. A přidá mu vlastnosti jako jsou objem a plocha. Rozměr plochy může využít od předka jen ji vynásobí 6ti.

Editováno 19.5.2014 20:09
Nahoru Odpovědět  +2 19.5.2014 20:03
Čím víc vím, tím víc věcí nevím.
Avatar
Kejmou
Člen
Avatar
Kejmou:

Hledal jsem mnoho definicí a žádná se mi moc nelíbí, moc to z toho nechápu.
Tak se nezlobte,že to řeknu špatně.

Napsal bych to asi takto.
Je to způsob programování, kde daný programátor řeší nastalé problémy více realněji než ve strukturovaném programování.
Chce se více přiblížit realitě..

 
Nahoru Odpovědět 19.5.2014 20:14
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Kejmou
David Hynek:

to bych neřekl...

Pomocí funkcionálního programování vyřešíš problém stejně jako v OOP.
Když ale naprogramuješ program pomocí OOP (dobře naprogramuješ, i v OOP se může programovat blbě a jsem toho jako začátečník zářným příkladem), tak vytvoříš program, který můžeš nepatrnou změnou přizpůsobit pro vyřešení jiného problému. V OOP stačí využít nějaký stávající objekt, vytvořit jen jeho potomka a přizpůsobit si výpočet podle potřeby. Nemusíš se ale už starat o vstupy nebo výstupy, protože ty už jsi vytvořil předtím. Takže OOP je při programování rychlejší.

Nahoru Odpovědět  +1 19.5.2014 20:23
Čím víc vím, tím víc věcí nevím.
Avatar
mkub
Redaktor
Avatar
mkub:

a este k tomu ani sa nemusi starat o privatne premenne, ktore si ta-ktora trieda definuje sama ako svoje vlastnosti, len staci pouzit interface, ktory ponukne na spolupracu s ostatnymi triedami...

a vdata dedicnosti sa vlastnosti a metody dedia z predka na potomka daneho objektu a polymorfizmus zavadza odlisne spravanie potomka oproti predkovi (napr. mame objekt Automobil, tento objekt je zakladnym objektom, ma urcity tvar, farbu, parametre, pocet_kolies, od neho odvodime objekt Osobny_Automobil, kde vdaka dedicnosti sa zdedi a vlastnosti: tvar, farba, parametre, povet_kolies, ale okrem toho pribudne: pocet_osob)

ako vidime, objekt Osobny_Automobil sa nestara oz o zdedene vlastnosti, o nesa postaraju zdedene metody, cize cela funkcia potomka mozenarabat s novymi vlastnostami a pri praci s dedenymi vlastnostami staci zavolat metodu rodica...

a ak som to zle popisal, potom zle som OOP pochopil a ma kludne opravte

 
Nahoru Odpovědět  ±0 23.5.2014 12:13
Avatar
mkub
Redaktor
Avatar
mkub:

lahke je minuskovat, ale vyjadrit sa ku komentaru, to nie...

 
Nahoru Odpovědět 23.5.2014 15:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.