Autor | Zpráva | ||
---|---|---|---|
Tori Profil |
#1 · Zasláno: 26. 3. 2011, 20:32:11
H13:
„Nelze určit hranici mezi procedurálním kódem a OOP“ Připadá mi, že jedinou příčinou vašich neshod s ostatními je to, že jako OOP označujete samotný kód (tedy cokoli, co je uzavřené do tříd), kdežto Joker a ostatní mluví o OOP na úrovni návrhu aplikace (jehož důsledkem je objektový kód). |
||
H13 Profil |
#2 · Zasláno: 26. 3. 2011, 21:10:32 · Upravil/a: H13
Joker:
Jenže to není objektově-orientované programování. Ale to já přeci netvrdím, ba právě naopak, tvrdím, že většina projektů obsahuje jak OOP tak i procedurální kód a někteří právě i ten procedurální kód považují za OOP. Příkladem jsem uvedl, že i volání statické metody by někdo mohl považovat za procedurální (totožné jako volání funkce v procedurálním kódu) a někdo za OOP. Já osobně bych si nikdy netroufnul označit ten či onen kód za OOP nebo ne OOP, protože jak jsem uvedl, neznám hranice, kdy začíná to a končí ono. Tori Ano, asi ano :-) Na příkladu volání statické metody jsem chtěl naznačit, že někdo to může nazvat jako OOP (i když se podle některých o OOP nemusí jednat), někdo jako procedurální postup a že někdy (zvláště pokud se využívají externí knihovny) takovéto statické volání do externí knihovny nemusí znamenat, že se jedná o paskvil. Reagoval jsem na toto: Neexistuje žádný mezistupeň mezi procedurálním stylem a OOP a to tak, že podle mého názoru takový mezistupeň prostě existuje (ať už to někdo dělá vědomě - dobrovolně, nedobrovolně (zvláště kvůli externí knihovně), nebo nevědomě. Samozřejmě, pokud to dělá někdo vědomě dobrovolně nebo nevědomě, tak to samozřejmě neobhajuju. Jen říkám, že to prostě existuje a na rozdíl od ShiraNai7 to nepovažuji za paskvil ( protože cokoliv mezi je prostě paskvil ), pokud to má nějakej řád a důvod. |
||
Joker Profil |
#3 · Zasláno: 26. 3. 2011, 22:08:35
Tori:
Přesně tak, to je o čem mluvím. Objektově orientované programování je způsob uvažování. Záleží na návrhu programu, ne na tom jestli se v kódu vyskytuje klíčové slovo class a operátory -> anebo :: H13: „podle mého názoru takový mezistupeň prostě existuje“ Určitě existuje, ale nejsem si jistý, jestli může zároveň existovat a přitom to nebýt chybný návrh programu. Jinak ale nepochybně ve většině „objektových“ jazyků lze udělat program, který bude porušovat zásady OOP, úplně stejně jako ve většině strukturovaných jazyků (včetně PHP) lze napsat program, který bude porušovat zásady strukturovaného programování. Otázka je, jestli to nejde prostě označit za chybu v návrhu programu. |
||
Bertram Profil |
#4 · Zasláno: 26. 3. 2011, 22:24:57
Statické metody vyžadují, aby všechny členské proměnné byly také statické. Z toho také vyplívá kdy a proč je využívat.
Někdo se tomu zuby nechty brání, ale když je jisté,že metoda vrátí pokaždé stejný výsledek naco vytvářet objekt. |
||
Časová prodleva: 13 let
|
0