The key feature is abstraction: you concentrate in identifying the 'objects' that act in your business model, and the relations among objects.
Each object maintains its internal state exposing the 'methods' (actions) that you can call to change the state of the object.
The object itself can relate to other objects just calling the methods the provide the actions needed.
So you can implement a 'car' without the need to understand its internals: you can just 'ask' the car to start (e.g. car->start ()).
Another key feature is inheritance: you can abstract common features and behaviours into more generic objects, from which more detailed objects derive their characteristics.
For example, you can define the concept of 'vehicle' with some common methods (start, stop, ...), and derive from it the car, the bike, the truck, etc.
There is more to say, but this is a top level view of the approach to OO programming.
Answered by
Raksha
at
9:12 AM on November 04, 2008