Abstracción en Java

Curso de Java

11.  
22.  

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Métodos abstractos

Tenemos una clase «Cosa» que tiene un método «botar». Las clases «Ladrillo» y «Pelota» heredan de «Cosa».

La clase Cosa tiene un método abstracto llamado «botar». Es abstracto porque dependiendo de si instanciamos un ladrillo o una pelota habrá que sobrescribir el código para que bote de una forma determinada.

Un método abstracto es aquel que sólo tiene una declaración y no dispone de cuerpo. Está pensado para ser sobrescrito, luego no es posible utilizar el modificador private con un método abstracto.

Se declaran de la siguiente forma (quitando las llaves del cuerpo de la función y poneindo un ; en su lugar):

public void botar();
pelota baloncesto
ladrillo

Clases abstractas

  • Si una clase tiene al menos un método abstracto, dicha clase debe ser abstracta.
  • Una clase que herede de una clase abstracta debe implementar todos sus métodos abstractos (no es necesario sobrescribir los métodos no abstractos,)
  • Abstracto viene a significar «sin definir».

Ejercicio – animales con clase abstracta

Implemente las clases del siguiente diagrama.

Abstracción en Java 1

Desarrolle una clase con el nombre Main, que contenga un método public static void main(String args[]), que al ejecutarse genere una instancia de Vaca, Cerdo y Gallina pasándoles en el constructor el sonido que deben emitir («muuuuuu», «oinkoink», «kokoroko», por ejemplo). Sobreescribir el método comunicarse de cada clase para que cada una muestre un mensaje distinto (puede ser algo del tipo )

System.out.println("Cuando la vaca pone tiene leche hace " + sonido);

Llamar a los métodos comunicarse() de cada una de las cuatro instancias.

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.