We can think of an object in standard programming terms as nothing more than a set of variables together with some subroutines for manipulating those variables.
In fact, it is possible to use object-oriented techniques in any programming language.
In order to make effective use of those features, you have to "orient" your thinking correctly.
As I have mentioned before, in the context of object-oriented programming, subroutines are often referred to as Objects are closely related to classes.
We have already been working with classes for several chapters, and we have seen that a class can contain variables and methods (that is, subroutines).
(OOP) represents an attempt to make programs more closely model the way people think about and deal with the world.
In the older styles of programming, a programmer who is faced with some problem must identify a computing task that needs to be performed in order to solve the problem.
Programming then consists of finding a sequence of instructions that will accomplish that task.But at the heart of object-oriented programming, instead of tasks we find objects -- entities that have behaviors, that hold information, and that can interact with one another.Programming consists of designing a set of objects that somehow model the problem at hand.Software objects in the program can represent real or abstract entities in the problem domain.This is supposed to make the design of the program more natural and hence easier to get right and easier to understand.To some extent, OOP is just a change in point of view.