Está en la página 1de 4

Herencia de un método abstracto en una clase concreta

Se entiende que la clase abstracta tiene como


objetivo proporcionar una clase base que ayude
al modelado de la jerarquía de herencia, aunque
esta sea muy general y no sea práctico tener
instancias de esa clase. Por lo tanto, de una
clase abstracta no se pueden definir objetos,
mientras que en clases a partir de las cuales se
puedan instancias objetos (clases concretas).

En C++, una característica de esta clase es declarar


al menos uno de los métodos como virtuales como
puro. Un método o función virtual pura es una que
en su declaración tiene el inicializador de =0:
Virtual <tipo> <nombre>(<parámetros>) =0;
//virtual pura
Herencia de un método abstracto en una clase concreta
Tomando en cuenta el ejemplo anterior, las
clases concretas siempre heredan por lo
menos un método abstracto de su
superclase además puede tener subclases
abstractas (pero estas a su vez deben tener
subclases concretas).

Se considera que solo las clases concretas


pueden ser subclases terminales en el
árbol de herencia y cada clase concreta
debe proporcionar su propia
implementación de los métodos abstractos.
Semántica y como realizar una clase concreta
Por ejemplo, para definir una figura determinada, en este caso un círculo, lo
primero es derivar una clase concreta de la clase genérica de las figuras (en el
ejemplo la clase Circulo). En esta subclase, que en adelante representará a todos
los círculos, debemos definir el comportamiento específico de los métodos que
fueron declarados "virtuales" en la clase base.
Semántica y como realizar una clase concreta
El último paso será instanciar un objeto concreto (un círculo determinado). Por
ejemplo:

Este ejemplo junto con sus pasos a realizar, podrían ser considerados para
determinar como hacer una clases concreta, dando un concepto o idea a este tipo
de clase.

También podría gustarte