Overview of Code
Abstract classes form “templates” helpful
for:
Generalizing problem solving methods
(factoring out common code, enabling reuse)
Making the problem formalization clear
Providing a language construct to guide fill-in-
the-blank implementation