Sencillo ejemplo de composición

Clase Perro package composicion_sencilla; /** * Clase que define un objeto Perro * * @author GALIA * @version 1.0 */ public class Perro { /* Atributos privados */ private String nombre; private int edad; /* Constructor */ /** * @param nombre * @param edad */ public Perro(String nombre, int edad) { this.setNombre(nombre); this.setEdad(edad); } /* Métodos de obtención y establecimiento */ /** * @return nombre del perro */ public String getNombre() { return nombre; } /** * @param nombre * del perro */ public void setNombre(String nombre) { this.nombre = nombre; } /** * @return edad del perro */ public int getEdad() { return edad; } /** * @param edad * del perro */ public void setEdad(int edad) { this.edad = edad; } } Clase Perrera package composicion_sencilla; /** * Clase Perrera. Contiene el array de objetos Perro * * @author GALIA * @version 1.0 */ public class Perrera { /* atributos privados */ /* la longitud del array, no es dinámico, al instanciarlo hay que declararla */ private int numero_de_perros; /*declaramos un array de String de tipo Perro */ private Perro[] lista_de_perros; /** * Constructor * * @param numero_de_perros * . La longitud del array */ public Perrera(int numero_de_perros) { /*instanciamos el array*/ lista_de_perros = new Perro[numero_de_perros]; /* a principio el array está vacío */ numero_de_perros = 0; } /* Añadir un perro a la lista */ /** * @param perro * . El objeto * @param indice * . La posición del array donde se inserta el objeto */ public void añadir_perro(Perro perro, int indice) { /* * en la posición indicada por numero_de_perros se guarda el objeto * pasado por parámetro al método */ lista_de_perros[numero_de_perros] = perro; /* el contador de posiciones aumenta */ numero_de_perros++; } /* Borrar perro */ public void borrar_perro(String nombre_perro) { int posicion; posicion = buscar_perro(nombre_perro); for (int i = posicion; i < numero_de_perros - 1; i++) { lista_de_perros[i] = lista_de_perros[i + 1]; } numero_de_perros--; } /* Buscar a un perro en la lista */ public int buscar_perro(String nombre_perro) { int encontrado = -1; for (int i = 0; i < numero_de_perros; i++) { if (nombre_perro.equals(lista_de_perros[i].getNombre())) { encontrado = i; break; } } return encontrado; } public Perro[] getLista_de_perros() { return lista_de_perros; } public int getNumero_de_perros() { return numero_de_perros; } } Clase que comprueba esto. package composicion_sencilla; /** * Clase que tiene el método main * * @author GALIA * @version 1.0 */ public class Gestionar_Perrera { public static void main(String[] args) { /* Creo una Perrera de 5 animales */ Perrera lista_perros; lista_perros = new Perrera(5); /* Creo 5 perros */ Perro perro1; Perro perro2; Perro perro3; Perro perro4; Perro perro5; perro1 = new Perro("Balkan", 2); perro2 = new Perro("Pirin", 7); perro3 = new Perro("Tangra", 1); perro4 = new Perro("Perun", 5); perro5 = new Perro("Rila", 3); /* Añadimos los perros a la perrera */ lista_perros.añadir_perro(perro1, 0); lista_perros.añadir_perro(perro2, 0); lista_perros.añadir_perro(perro3, 0); lista_perros.añadir_perro(perro4, 0); lista_perros.añadir_perro(perro5, 0); /* Obtenemos los valores de los atributos de la lista de perros */ Perro[] perros; perros = lista_perros.getLista_de_perros(); int numero_perros; numero_perros = lista_perros.getNumero_de_perros(); /* Mostramos los perros que hay en la lista */ generar_informe(perros, numero_perros); System.out.println("\nBorramos Balkan\n"); /* Borramos a Balkan de la lista */ lista_perros.borrar_perro("Balkan"); perros = lista_perros.getLista_de_perros(); numero_perros = lista_perros.getNumero_de_perros(); for (int i = 0; i < numero_perros; i++) { System.out.println(perros[i].getNombre() + " " + perros[i].getEdad()); } } /** * @param lista_perros * @param numero */ private static void generar_informe(Perro[] lista_perros, int numero) { for (int i = 0; i < numero; i++) { System.out.println(lista_perros[i].getNombre() + " " + lista_perros[i].getEdad()); } } }
App para gestionar una perrera.

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.