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.