Animal.java
public abstract class Animal {
protected String foto;
protected String comida;
protected String localizacion;
protected String tamano;
public Animal(String foto, String comida, String localizacion, String tamano) {
this.foto = foto;
this.comida = comida;
this.localizacion = localizacion;
this.tamano = tamano;
}
public abstract void comer();
public abstract void dormir();
public abstract void comunicar();
}
Canino.java
public abstract class Canino extends Animal{
public Canino(String foto, String comida, String localizacion, String tamano) {
super(foto, comida, localizacion, tamano);
}
public void comer(){
System.out.println("Como carne");
}
}
Mascota.java
public interface Mascota {
public void jugar();
public void vacunar();
}
Perro.java
public class Perro extends Canino implements Mascota{
public Perro(String foto, String comida, String localizacion, String tamano) {
super(foto, comida, localizacion, tamano);
}
public void dormir(){
System.out.println("Duermo en perrera");
}
public void comunicar(){
System.out.println("Ladro");
}
public void jugar(){
System.out.println("Juega en el jardin");
}
public void vacunar(){}
}
Gato.java
public class Gato extends Canino implements Mascota{
public Gato(String foto, String comida, String localizacion, String tamano) {
super(foto, comida, localizacion, tamano);
}
public void dormir(){
System.out.println("Duermo en el tejado");
}
public void comunicar(){
System.out.println("Maullo");
}
public void jugar(){
System.out.println("Juega en el sofa");
}
public void vacunar(){
System.out.println("Rabia");
}
}
Main.java
public class Main {
public static void main(String[] args) {
Mascota [] miMascota = new Mascota[2];
miMascota[0] = new Perro("/images/perro.jpg", "Nutrecan", "Mi casa", "Grande");
miMascota[1] = new Gato("/images/gato.jpg", "Nutrecat", "Mi casa", "Pequeno");
miMascota[1].jugar();
miMascota[1].vacunar();
((Gato)miMascota[1]).comer();
((Gato)miMascota[1]).comunicar();
((Gato)miMascota[1]).dormir();
}
}
Dibujemos el diagrama de clases
No hay comentarios:
Publicar un comentario
Muchas gracias por su comentario, será revisado y pronto se publicará.