Class (computer programming): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
splitted away from Class article, relations between classes
 
Alan_D (talk)
added some stuff, reworded definition
Line 1: Line 1:
A '''class''' is a description of a collection of objects with the same internal structure. A class specifies the data items each [[object]] of the class contains and the operations or methods that can be performed on each object belonging to the class. An [[object]] belonging to a class is also called an [[instance]] of the class.
A '''class''' is a kind of template (not to be confused with a C++ template however) that describes the underlying structure of a group of objects. A class specifies the data items each [[object]] of the class contains and the operations or methods that can be performed on each object belonging to the class. An [[object]] belonging to a class is also called an [[instance]] of the class. It could be said that a class is like the blueprint, and an object is the house.






Classes are often related in some way. The most popular of these relations is inheritance, that is, all objects of one class, called '''child class''' or '''subclass''', belong not only to this class, but also to other class, called '''parent class''' or '''superclass'''. For example all class Button (some specific kind of widget) may be subclass of class Widget (anything that can be displayed by windowing system), so all buttons are, by definition, widgets.
(Some languages have objects but no classes. In these languages, objects are not restricted to structure provided by classes, and can be changed at will. This less common technique is called object-based programming.)
Classes are often related in some way. The most popular of these relations is inheritance, that is, all objects of one class, called '''child class''' or '''subclass''', belong not only to this class, but also to other class, called '''parent class''' or '''superclass'''. For example all class "Button" (some specific kind of widget) may be subclass of class "Widget" (anything that can be displayed by windowing system), so all buttons are, by definition, interchangable with widgets.


This technique is often used to add some abstraction.
This technique is often used to add some abstraction.
Line 9: Line 13:




Some [[programming language|programming languages]] allow [[multiple inheritance]] - they allow a child class to have more than one parent class. This technique is much less useful and it often criticized for its unnecessary complexity and being hard to implement efficiently.
Some [[programming language|programming languages]] (for example C++) allow [[multiple inheritance]] - they allow a child class to have more than one parent class. This technique has been criticized by some for its unnecessary complexity and being hard to implement efficiently, though some projects have undoubtedly benefited from its use. [[Java programming language|Java]], for example has no multiple inheritance, its designers feeling that it was more trouble than it was worth.





Revision as of 01:37, 9 December 2001

A class is a kind of template (not to be confused with a C++ template however) that describes the underlying structure of a group of objects. A class specifies the data items each object of the class contains and the operations or methods that can be performed on each object belonging to the class. An object belonging to a class is also called an instance of the class. It could be said that a class is like the blueprint, and an object is the house.


(Some languages have objects but no classes. In these languages, objects are not restricted to structure provided by classes, and can be changed at will. This less common technique is called object-based programming.)


Classes are often related in some way. The most popular of these relations is inheritance, that is, all objects of one class, called child class or subclass, belong not only to this class, but also to other class, called parent class or superclass. For example all class "Button" (some specific kind of widget) may be subclass of class "Widget" (anything that can be displayed by windowing system), so all buttons are, by definition, interchangable with widgets.

This technique is often used to add some abstraction.


Some programming languages (for example C++) allow multiple inheritance - they allow a child class to have more than one parent class. This technique has been criticized by some for its unnecessary complexity and being hard to implement efficiently, though some projects have undoubtedly benefited from its use. Java, for example has no multiple inheritance, its designers feeling that it was more trouble than it was worth.


See also: Object-oriented programming


For other meaning of word class, see Class.