Rozdział 17. Tematy zaawansowane

Gdy w rozdziale 14. po raz pierwszy przedstawialiśmy Ci mechanizm dziedziczenia, naszym celem było uniknięcie duplikowania kodu. Zauważyliśmy wtedy, że talie kart i układy kart mają pewien zestaw wspólnych możliwości, dlatego zaprojektowaliśmy klasę CardCollection, która miała je zapewniać. Technika ta jest przykładem uogólniania (ang. generalization). Dzięki uogólnieniu kodu byliśmy w stanie wykorzystać go wielokrotnie w klasach Deck i Hand.

W rozdziale 15. przyjrzeliśmy się dziedziczeniu z nieco innej perspektywy. Projektując klasę GridCanvas, która miała reprezentować siatkę komórek, rozszerzyliśmy klasę Canvas i przesłoniliśmy jej metodę paint. Projekt ten jest przykładem specjalizacji (ang. specialization ...

Get Myśl w języku Java! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.