Programación Orientada a Objetos en Java: Clases Animal, Mascota y Clínica Veterinaria con Patrón Fachada
Programación Orientada a Objetos en Java: Animal, Mascota y Clínica
public class Animal {
protected String especie;
public String getEspecie() {
return especie;
}
public void setEspecie(String especie) {
this.especie = especie;
}
@Override
public String toString() {
return "Animal{" + "especie=" + especie + "mascota" + "}";
}
}
public class AnimalZoo extends Animal {
private String nombreZoo;
private String ciudad;
public AnimalZoo(String nombreZoo, String ciudad) {
this.ciudad = ciudad;
this.nombreZoo = nombreZoo;
}
public String getNombreZoo() {
return nombreZoo;
}
public void setNombreZoo(String nombreZoo) {
this.nombreZoo = nombreZoo;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
@Override
public String toString() {
return "AnimalZoo{" + "nombreZoo=" + nombreZoo + ", ciudad=" + ciudad + '}';
}
}
public class Mascota extends Animal {
private String nombreMascota;
private Persona dueño;
public Mascota() {
super();
}
public String getNombreMascota() {
return nombreMascota;
}
public void setNombreMascota(String nombreMascota) {
this.nombreMascota = nombreMascota;
}
public Persona getDueño() {
return dueño;
}
public void setDueño(Persona dueño) {
this.dueño = dueño;
}
@Override
public String toString() {
return "Mascota{" + "nombreMascota=" + nombreMascota + " cuyo dueño es " + dueño + " " + "y pertenece a la especie: " + especie;
}
}
public class Persona {
private String nombre;
private String apellido;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
@Override
public String toString() {
return nombre + " " + apellido;
}
}
public class Clinicafachada {
public static void main(String[] args) {
Fachada f1 = new Fachada();
f1.CrearClinica();
f1.LISTARDATOSCLINICA();
}
}
public class Fachada {
int n = GestorFachada.peticion();
GestorFachada gf1 = new GestorFachada(n);
public void CrearClinica() {
for (int i = 0; i < n; i++) {
gf1.addMascota(gf1.leeMascota("introduce los datos de la mascota"));
}
}
public void LISTARDATOSCLINICA() {
String[] datosclinica = gf1.listado();
for (String elemento : datosclinica) {
System.out.println(elemento);
}
}
public void LISTAR() {
gf1.listado();
}
}
public class GestorFachada {
int numeroGuardados = 0;
Mascota[] mascota;
public GestorFachada(int tamaño) {
mascota = new Mascota[tamaño];
}
public void addMascota(Mascota mascotas) {
try {
mascota[numeroGuardados] = mascotas;
numeroGuardados++;
} catch (Exception e) {
System.out.println("error, está lleno");
}
}
public String[] listado() {
String array[] = new String[numeroGuardados];
for (int i = 0; i < numeroGuardados; i++) {
array[i] = mascota[i].toString();
}
return array;
}
private static Scanner teclado = new Scanner(System.in);
public static String leeString(String mensaje) {
System.out.println(mensaje);
return teclado.nextLine();
}
public static int leeEntero(String mensaje) {
System.out.println(mensaje);
boolean error;
int numero = 0;
do {
try {
numero = teclado.nextInt();
error = false;
} catch (Exception e) {
System.out.println("error, introduce un número entero");
error = true;
}
teclado.nextLine();
} while (error == true);
return numero;
}
public static Persona LEEPERSONA(String mensaje) {
Persona p = new Persona();
p.setNombre(GestorFachada.leeString("introduce el nombre del dueño"));
p.setApellido(GestorFachada.leeString("introduce el apellido del dueño"));
return p;
}
public static Mascota leeMascota(String mensaje) {
Mascota m = new Mascota();
m.setNombreMascota(GestorFachada.leeString("introduce el nombre de la mascota"));
m.setDueño(GestorFachada.LEEPERSONA("introduce los datos de la persona"));
m.setEspecie(GestorFachada.leeString("introduce la especie a la que pertenece la mascota"));
return m;
}
public static int peticion() {
System.out.println("introduce el número de mascotas a crear");
return GestorFachada.leeEntero("");
}
}