Mam nadzieję, że ktoś dobry w końcu wytłumaczy mi po co w języku obiektowym niewirtualne metody.
Jedyny powód jaki widzę i mogę zrozumieć to wydajność, ale nie przekonuje mnie to w przypadku języków które kompiluje się do kodu pośredniego.
Jak widać z powyższego, nadal jestem w "szoku" po kontakcie z C#.
Kolejne ciosy otrzymałem od klas abstrakcyjnych. Metody w klasie abstrakcyjnej nie są oznaczane jako wirtualne..... To nawet logiczne w końcu dopiero ich implementacja będzie wirtualna, ale jeszcze dodatkowo komplikuje kod. Bo już nie wystarczy pamiętać, że metodę wirtualną w klasie bazowej trzeba oznaczyć jako wirtualną, a później zaznaczyć metodę w klasie potomnej jako nadpisującą, trzeba jeszcze pamiętać, że choć metoda w klasie abstrakcyjnej nie jest oznaczona jako abstrakcyjna, to tak ją trzeba traktować w klasach potomnych.....
O boxingu i unboxingu, który powoduje, że rzutuje się obiekt na prymityw już nawet nie wspomnę ;-)
To co widać wyżej to wynik wrzucenia do arkusza kalkulacyjnego z OpenOffice.org danych ze strony z danymi o trzęsieniach ziemi [te akurat dane to ostatnio zarejestrowane 2000 trzęsień ziemi do 2006-04-17 21:43:01].
Tak jak przypuszczałem można dostrzec punkty styku płyt tektonicznych, które właśnie na siebie "włażą" ;-)
Podobne postybeta
Różniste różności różne ;-)
Trzęsienie ziemi co 2-3 godziny
Konstruktory
Myślenie = Szybka jazda
Nieoczywiste oczywistości ;-) podstępny autoboxing ;-)
wtorek, kwietnia 18, 2006
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz