Una clase derivada es una clase que hereda de otra clase. Una clase puede heredar de más de una clase, pero en la mayoría de los casos, una clase hereda de una sola clase. Una clase que hereda de otra clase se llama subclase, y la clase de la que hereda se llama superclase.
Una clase derivada hereda todos los miembros de su superclase, pero también puede tener sus propios miembros. Los miembros de una clase derivada que tienen el mismo nombre que los miembros de su superclase se dice que anulan los miembros de la superclase.
¿Cómo se crea una clase derivada?
Las clases derivadas se crean heredando de una clase existente. La clase existente se suele denominar clase base, y la clase derivada se suele denominar clase hija.
Para heredar de una clase, la clase hija debe incluir la palabra clave "extends" seguida del nombre de la clase base. Por ejemplo, si tenemos una clase base llamada "Animal" y queremos crear una clase hija llamada "Perro", lo haríamos de la siguiente manera:
public class Dog extends Animal {
// el código de la clase hija va aquí
}
Una vez creada la clase hija, ésta heredará todos los miembros públicos y protegidos de la clase base. Además, la clase hija puede sobrescribir cualquiera de los métodos de la clase base simplemente definiendo un método con la misma firma.
¿Cuál es la sintaxis de derivar una clase?
La sintaxis para derivar una clase en C++ es la siguiente:
class DerivedClass : public BaseClass
{
// ...
};
¿Qué es una clase abstracta en C++? Una clase abstracta es una clase que está diseñada para ser utilizada específicamente como clase base. Debe contener al menos una operación virtual pura. Las funciones virtuales puras son aquellas que no tienen ninguna implementación. Esto se hace declarando la función como: virtual void function() = 0;. ¿Qué palabra clave se utiliza para identificar una clase derivada? La palabra clave utilizada para identificar una clase derivada es "extends". ¿Qué constructor se llama primero base o derivado? El constructor de la clase derivada es llamado primero, seguido por el constructor de la clase base.