Class hierarchy: Difference between revisions

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}}
As in taxonomy, the classifications of species, a class hiearchy in computer science is a classification of object types, denoting objects as the instantiations of 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". The relationships are specified in the science of object oriented design and object interface standards defined by popular use and standards committees for software design like the [[Object Management Group]].
{{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)]]