CLASES ABSTRACTAS Y CONCRETAS.3.10

 

Una clase abstracta es aquella de la que no se pueden declarar instancias, dicho de otra manera no se pueden declarar objetos de una clase abstracta. La finalidad de una clase abstracta es servir como clase base para otras clases a las que generalmente se conoce como clases "concretas".

La característica que distingue a una clase abstracta es la de poseer por lo menos un método virtual cualquier puro, y de manera equivalente que tenga por lo menos un método virtual puro es considerada abstracta y no pueden declararse objetos de esa clase. Un método virtual puro es un método que ha sido declarado en la clase abstracta base pero que su definición (y redefinición) se deja a las clases concretas que le heredan. NO UN: Si una clase cualquiera hereda de una clase abstracta y no define los métodos virtuales puros heredados entonces esa clase automáticamente se convierte en una clase abstracta también.

 

Un método virtual puro es un método que se declara utilizando la palabra reservada virtuales igualando su definición a cero (sí, utilizando el operador de florecer =en la declaración del método). De modo que este método se define en las clases concretas herederas. Observe la implementación de una clase abstracta y una clase concreta en el ejemplo a continuación:






Comentarios