Clases abstractas y m todos virtuales GYPSY
Este Tipo de Clases nos permiten crear “método generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de código tienenpor particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni código dentro de ellos y deben estar precedidos por la palabra claveabstract. Si una clases contiene uno o más métodos abstractos está clase debe ser abstracta. Estas clases como son generalidades no pueden ser instanciadas por ningún objeto (se dice que su nivel deabstracción es demasiado alto), entonces su único fin es ser heredado/extendido por otras clases.
Ejemplo
public abstract class Figura {
// Atributos:
public int numeroLados;
public int area;public int volumen;
// Métodos:
abstract public void calcularArea();
abstract public void calcularVolumen();
}
En este poco original ejemplo se puede apreciar que toda figura tiene un método paracalcular su Área y Volumen.
- Las clases que hereden de la clase Abstracta deben implementar todos los métodos abstractos.
- Se debe tener presente que las clases abstractas sí pueden heredar de otrasclases.
- La firma o parámetros de los métodos así como el tipo de dato deben respetarse, de lo contrario se está hablando de otro método totalmente diferente.
Métodos virtuales
Ya hemos visto quees posible definir tipos cuyos métodos se hereden de definiciones de otros tipos. Lo que ahora vamos a ver es que además es posible cambiar dichar definición en la clase hija, para lo que habría quehaber precedido con la palabra reservada virtual la definición de dicho método en la clase padre. A este tipo de métodos se les llama métodos virtuales, y la sintaxis que se usa para definirlos es lasiguiente:
virtual
{
}
Si en alguna clase hija quisiésemos dar una nueva definición del método, simplemente lo volveríamos a definir en...
Regístrate para leer el documento completo.