Object (object-oriented programming)
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 methods (member functions). Objects are bundles of related variables and methods and are often used to model real-world objects. Objects can be affected by events. Object-oriented programs typically contain a large number of objects.
Analogies
A class is to an object as a blueprint is to 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; modifications to the object do not require encapsulating code (that is, code which uses that object) to be rewritten, nor do the referenced 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
Referenced By
Class (computer science) | Class in object-oriented programming | How to program in Java | Java (programming language) | Java programming language | Slogan 'Write once, run anywhere'
|