|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
|
04. 03. 2013. | #1 | |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Citat:
Ono što mi nije jasno je šta ti njima dobijaš u dinamičkom jeziku. Obične parent klase bez deklarisanih metoda sasvim dobro rade posao, zar ne? @webarto: Upravo tako. S tim što je bacanje exceptiona u Database konstruktoru skroz opciono, jer ti praktično ništa ne dobijaš time, jedino pišeš kod za nekog morona koji bi probao da instancira Database klasu. U statičkim jezicima to opet ima smisla, jer će se greška pojaviti u compile timeu, tj. neće moći da se program iskompajlira ako neko napiše "new Database". U PHPu (ako se ne varam, ispravite me ako grešim), čak i da koristiš apstraktnu klasu, greška bi iskočila u runtimeu, tako da i ta prednost apstraktne klase koju imaš u Javi ovde ne postoji. Takođe je i sama svrha postojanja parent klase diskutabilna (u tvom primeru nema smisla, ali hajde da pretpostavimo da te dve klase zaista imaju neku zajedničku funkcionalnost). Sve u svemu, PHP i ostali dinamički jezici su praktično srećni zato što programer nema potrebu da piše puno koda samo da bi zadovoljio kompajler. Zato me čudi što se veštački dodaju featuresi iz statičkih jezika iako nemaju smisla i praktično ukidaju prednosti koje dinamički jezici imaju. To bi bilo kao da atletičar navuče bocu s kiseonikom od 10 kila pre trke samo zato što je video da ronioci to rade.
__________________
blog |
|
|
|