An abstract base class.
At the design level, an abstract base class (ABC) corresponds to an abstract
concept. If you asked a mechanic if he repaired vehicles, he'd probably wonder
what kind-of vehicle you had in mind. Chances are he doesn't repair
space shuttles, ocean liners, bicycles, or nuclear submarines. The problem is
that the term "vehicle" is an abstract concept (e.g., you can't build a
"vehicle" unless you know what kind of vehicle to build). In C++, class
Vehicle would be an ABC, with Bicycle, SpaceShuttle, etc, being
derived classes (an OceanLiner is-a-kind-of-a Vehicle). In real-world OO, ABCs
show up all over the place.
At the programming language level, an ABC is a class that has one or more
pure virtual member functions. You cannot make
an object (instance) of an ABC.
No comments:
Post a Comment