Temat: C# ...i w końcu najważniejsze, komunikaty błędów są straszliwe - zapewne każdy zrobił kiedyś błąd w typie do templatów i zastanawiał się co znaczy 8 linijek krzaków mających być błędem.
Prawdziwy polimofrizm różnie jest implementowany. Najprostsze podejście takie jak w Javie, która jakoś niedługo wyjdzie/wyszła, to pakować wszystko w Object. Wtedy klasy polimorficzne są po prostu typu Object we wszystkich miejscach, gdzie wystąpił typ polimorficzny. list<int> jest zwykłą listą Obiectów, tylko kompilator wie, że tam znajdują się inty opakowane w objekty i w miejscach dostępu do nich generuje dereferencję. Wadą oczywiście jest zwiększone zużycie pamięci i czasu potrzebnego na dereferencję i boxowanie intów w obiektach. Zaletą elegancja, kontrola typów używanych kolekcji z ładnymi komunikatami błędów i łatwość w robieniu bibliotek.
Bardziej... Źródło: kadu.net/forum/viewtopic.php?t=2591
zanotowane.pldoc.pisz.plpdf.pisz.plyanielka.opx.pl
|