In computer science, an object is something that has an identity, a state, and a behaviour. The state is encoded in instance variables (data members), the behaviour is encoded in methodss (member functions). Objects are bundles of related variables and methods and are often used to model real-world objects. Objects can be affected by eventss. Object-oriented programs typically contain a large number of objects.

It could be said that a class is a blueprint, and an object is a house. An object belonging to a class is referred to as an instance of the class. If humanity were a class, then [you] would be an instance of the class [human].

Overview of Identities, States, and, Behaviours

The identity of an object from the class [dog] might be [Rex]. Its states may include being happy, black, and poodle. Rex can engage in behaviors such as sleeping, barking, and eating. An event affecting Rex might be that he is hit by a car. A program containing an object which represents a bicycle might report such states as velocity or temperature and such behavior as accelerating or the like.

The Atomic Object and Encapsulation

In the atomic or cellular view of an object (or a class), the variables are considered to be within the nucleus and surrounded by methods. In other words, the variables and methods are encapsulated within the object. Each atom (or cell) is modular, that is, modifications to the object do not require encapsulating code to be rewritten, nor do objects need to be located within the same process or computer.

Object-to-Object Communication

Objects can interact and communicate with each other. If object A wants object B to perform one of B's methods, object A will send a message to object B. Consider a program which models driving a vehicle, Object A might be you and Object B might be a car. A message from A-B might involve identifying the object being called upon to perform some action [YourCar], the name of the method (or action) to perform [changeVelocity], and a parameter such as [muchFaster].

Read on: class, object (philosophy), object-oriented programming language, object-oriented programming, object-oriented technology, computing


See also: object creation