CLASES ABSTRACTAS DEFINICIN Una clase abstracta es una
CLASES ABSTRACTAS
DEFINICIÓN Una clase abstracta es una clase que se introduce sólo para que se deriven nuevas clases de ella, no para que se creen objetos con su nombre. Del mismo modo, un método abstracto es un método que se introduce para que sea redefinido en una clase derivada.
Estas presentan un nivel de "abstracción" tan elevado que no sirven para instanciar objetos de ellas. Representan los escalones más elevados de algunas jerarquías de clases y solo sirven para derivar otras clases, en las que se van implementando detalles y concreciones, hasta que finalmente presentan un nivel de definición suficiente que permita instanciar objetos concretos. Se suelen utilizar en aquellos casos en que se quiere que una serie de clases mantengan una cierta característica o interfaz común. Por esta razón a veces se dice de ellas que son pura interfaz.
Reglas de uso: Una clase abstracta solo puede ser usada como clase base para otras clases, pero no puede ser instanciada para crear un objeto. Una clase abstracta no puede ser utilizada como argumento o como retorno de una función Si puede declararse punteros-a-clase abstracta Se permiten referencias-a-clase abstracta, suponiendo que el objeto temporal no es necesario en la inicialización
Los métodos para los que no aporte una implementación serán declarados a su vez abstractos. Si una clase tiene un método abstract es obligatorio que la clase sea abstract. Todas las subclases que hereden de una clase abstracta tendrán que redefinir los métodos abstractos dándoles una implementación.
En el caso de que no implementen alguno de esos métodos la clase hija también será abstracta y tendrá que declararse como tal (tanto la clase como los métodos que siguen siendo abstractos). En método abstract no pude ser static, ya que estos no pueden ser redefinidos por las subclases.
GRACIAS POR SU ATENCION
- Slides: 7