Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy
neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si
potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa
zmení na

new MyString("c:\data").getFiles()

čo mi nepríde príliš veľká obeť.

To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte
minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými preťaženými
operátormi - nikdy neviete, čo vlstne to plus spraví.

Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak potrebujete
urobiť "rýchlo" zmenu už staršieho projektu (t.j. asi v 90% času života
aplikácie) - nevyhovujú.

Rastislav "Bedo" Siekel


> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Petr Fischer
> Sent: 1. novembra 2006 13:33
> To: Java
> Subject: Re: Co jde v .NET a nejde v Jave?
> 
> 
> Petr Synek píše v St 01. 11. 2006 v 01:20 +0100:
> > Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o 
> > moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core 
> J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak 
> konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema 
> za co stydet (oproti napr. 1.3. verzi).
> > V .NETu mi ale dost chybi moznost si prohlednout zdrojaky 
> knihoven frameworku. Takze opravdu nezbyva nic jineho nez se 
> spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na 
> google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout 
> do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny 
> Boolean.getBoolean(...) ze? :-). 
> > 
> > Co se tyce core knihoven, tak ty mi prijdou .NET knihovny 
> ponekud vic 
> > intuitivni.
> > Napr. string.IsNullOrEmpty() je docela uzitecna staticka 
> metoda tridy String. V Jave musime psat porad dokola "if (s 
> ==null || s.length() = 0)" (i o dost podivnejsi ekvivalenty 
> lze casto potkat) nebo si napsat vlastni externi utilitu 
> (prip. stahnout neco hotoveho z Jakarta Commons). 
> > 
> > Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a 
> > jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, 
> odcitani, staticke helper metody na vytvareni) je ukazka jak 
> ma .NET dobre propracovane nektere knihovny.
> > Kdyz se pak clovek podiva na java.util.Date a ty mraky 
> deprecated constructoru a metod, tak si uvedomi, ze vlastne 
> cely Date je uz dnes jen docela osklivy wrapper nad jednou 
> long promennou a nic vic... Ale neni to rozhodne to co by 
> clovek intuitivne od Date tridy cekal. 
> > Pokud chci napriklad vytisknout cas tedy v .NETu 
> "Console.WriteLine(DateTime.Now);" tak v Jave (jsem pres 
> google http://www.rgagnon.com/javadetails/java-0106.html) 
> zjistil ze musim pouzit minimalne tridy Calendar a 
> SimpleDateFormat a provadet s tim docela slusne harakiri. Bez 
> googlu, je toto prace na min. 5 minut. 
> > 
> 
> To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v 
> .NETu nahodou mozny rozsirovat existujici tridy o novy metody 
> (muzete si dopsat svoji vlastni metodu do existujici String 
> nebo Date tridy - tedy podobne jako treba ve Smalltalku)? 
> Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku 
> jinej styl OO programovani.
> 
> Muzete si pak do String tridy dopsat treba funkci getFiles() a pak
> staci:
> 
> "c:\data".getFiles() 
> 
> To neni zly ne? :)
> 
> pf
> 
> 
> 
> 
> 


Odpovedet emailem