Una jerarquía de clases o árbol de herencia en informática es una clasificación de tipos de objetos , que denota a los objetos como instancias de clases (la clase es como un plano, el objeto es lo que se construye a partir de ese plano) interrelacionando las diversas clases mediante relaciones como "hereda", "extiende", "es una abstracción de", "una definición de interfaz". [1] En la programación orientada a objetos , una clase es una plantilla que define el estado y el comportamiento común a los objetos de un cierto tipo. Una clase se puede definir en términos de otras clases. [1]
El concepto de jerarquía de clases en informática es muy similar a la taxonomía , la clasificación de las especies.
Las relaciones se especifican en la ciencia del diseño orientado a objetos y los estándares de interfaz de objetos definidos por el uso popular, los diseñadores de lenguajes ( Java , C++ , Smalltalk , Visual Prolog ) y los comités de estándares para el diseño de software como el Object Management Group .
La jerarquía de clases puede ser tan profunda como sea necesario. Las variables de instancia y los métodos se heredan a través de los niveles y se pueden redefinir según los requisitos de una subclase. En general, cuanto más abajo en la jerarquía aparece una clase, más especializado es su comportamiento. Cuando se envía un mensaje a un objeto, se transmite a través del árbol de herencia comenzando desde la clase del objeto receptor hasta que se encuentra una definición para el método. Este proceso se denomina conversión ascendente.