Superclase (programación)

En programación, una superclase o clase principal es una clase de la que se derivan otras clases. Las clases derivadas de una superclase se denominan clases secundarias , clases derivadas o subclases .

Una superclase le permite crear una interfaz genérica que encapsula la funcionalidad personalizada mediante el uso de funciones virtuales .

El mecanismo de la superclase se usa ampliamente en la programación orientada a objetos debido a su reutilización , que se logra a través de características comunes encapsuladas en objetos modulares.

Los lenguajes de programación pueden admitir superclases tanto abstractas como concretas .

Clase base

Una clase base  es una clase que no tiene superclase y, por lo tanto, se encuentra en la parte inferior del árbol de subclases. La mayoría de los sistemas de programación orientados a objetos proporcionan una biblioteca de clases a partir de la cual el desarrollador construye la suya propia. Estas bibliotecas a menudo proporcionan una o un conjunto bastante limitado de clases base que forman el núcleo de la biblioteca.

En el caso de que un idioma o biblioteca tenga solo una clase base, se denomina tipo más alto .

En UML , una clase puede tener su propio conjunto de propiedades raíz para indicar que es la clase base.

En el estilo C++ (que se usa en C# y otros lenguajes), se usa el término "clase base" en lugar del término "superclase".

Ejemplos

Java

En el lenguaje de programación Java , se llama al método para determinar la superclase de una clase getSuperclass. Este método devuelve un objeto Class que representa la superclase de la clase dada, o devuelve un valor nulo si la clase no tiene superclases. Para determinar todos los padres de la clase, el método getSuperclassse llama repetidamente hasta que devuelve un valor nulo.

El siguiente ejemplo busca nombres de clases principales para la clase Button usando el método getSuperclass:

importar java.lang.reflect.* ; importar java.awt.* ; clase SampleSuper { public static void main ( String [] args ) { Button b = new Button (); imprimirSuperclases ( b ); } static void printSuperclasses ( Objeto o ) { Clase subclase = o . obtenerclase (); Clase superclase = subclase . obtenerSuperclase (); while ( superclase != nulo ) { String className = superclase . obtenerNombre (); sistema _ fuera _ println ( nombreClase ); subclase = superclase ; superclase = subclase . obtenerSuperclase (); } } }

El programa devuelve:

java.awt.Component java.lang.Objeto

Véase también

Notas