Content deleted Content added
No edit summary |
Changing short description from "classification of object types" to "Classification of objects in programming" |
||
(32 intermediate revisions by 24 users not shown) | |||
Line 1:
{{Short description|Classification of objects in programming}}
{{about|the computer science concept|the sociology concept|Social class}}
A '''class hierarchy''' or '''inheritance tree''' in [[computer science]] is a classification of [[Object (computer science)|object]] types, denoting objects as the instantiations of [[Class (computer programming)|classes]] (class is like a blueprint, the object is what is built from that blueprint) inter-relating the various classes by relationships such as "inherits", "extends", "is an abstraction of", "an interface definition".<ref name="University of Amsterdam ">{{Cite web |url=https://staff.fnwi.uva.nl/a.j.p.heck/Courses/JAVAcourse/ch3/s1.html |title=OOP: Class Hierarchy |website=staff.fnwi.uva.nl |access-date=2017-10-11}}</ref> In [[object-oriented programming]], a class is a template that defines the state and behavior common to objects of a certain kind. A class can be defined in terms of other classes.<ref name="University of Amsterdam " />
The concept of class hierarchy in computer science is very similar to [[Taxonomy (biology)|taxonomy]], the classifications of species.
The relationships are specified in the science of [[object-oriented design]] and object interface standards defined by popular use, language designers ([[Java (programming language)|Java]], [[C++]], [[Smalltalk]], [[Visual Prolog]]) and standards committees for software design like the [[Object Management Group]].
The class hierarchy can be as deep as needed. The instance variables and methods are inherited down through the levels and can be redefined according to the requirement in a subclass. In general, the further down in the hierarchy a class appears, the more specialized its behavior. When a message is sent to an object, it is passed up the inheritance tree starting from the class of the receiving object until a definition is found for the method. This process is called upcasting.
==See also==
* [[Multiple inheritance]]
* [[Composition over inheritance]]
==References==
{{reflist}}
{{DEFAULTSORT:Class Hierarchy}}
[[Category:Class (computer programming)]]
|