Object-oriented programming is based on the priciple of recursive design.
- Everything is an object
- Objects perform computation by making requests of each other through the passing of messages
- Every object has it's own memory, which consists of other objects.
- Every object is an instance of a class. A class groups similar objects.
- The class is the repository for behavior associated with an object
- Classes are organized into singly-rooted tree structure, called an inheritance hierarchy.
We can illustrate these principles by considering how I go about solving
a problem in real life.