Most object-oriented systems are designed with a
"kind of" hierarchy: inheritance. This defines a relationship among classes, where one class shares the structure
and/or behavior in one or more classes. For example, a base class of a garden may have subclasses of vegetable, rose, and flower; each of these is a “kind of” garden.