Clase Examen
package ejemplos_composicion;
/**
* @author GALIA 11 de marzo 2015
*/
public class Examen {
/* Atributos privados */
private String asignatura;
private String aula;
private Fecha fecha;
private Hora hora;
/**
* Constructor
*
* @param asignatura
* @param aula
* @param fecha
* @param hora
*/
public Examen(String asignatura, String aula, Fecha fecha, Hora hora) {
this.asignatura = asignatura;
this.aula = aula;
this.fecha = fecha;
this.hora = hora;
}
/* constructor por defecto */
public Examen() {
}
/**
* @return asignatura
*/
public String getAsignatura() {
return asignatura;
}
/**
* @param asignatura
*/
public void setAsignatura(String asignatura) {
this.asignatura = asignatura;
}
/**
* @return aula
*/
public String getAula() {
return aula;
}
/**
* @param aula
*/
public void setAula(String aula) {
this.aula = aula;
}
/**
* @return fecha
*/
public Fecha getFecha() {
return fecha;
}
public void setFecha(Fecha fecha) {
this.fecha = fecha;
}
/**
* @return hora
*/
public Hora getHora() {
return hora;
}
public void setHora(Hora hora) {
this.hora = hora;
}
/*
* (sin Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Examen \n[asignatura=" + asignatura + "]\n" + "[ aula=" + aula
+ "]\n" + fecha.toString() + hora.toString() + "]";
}
}
Clase Fecha
package ejemplos_composicion;
/**
* @author GALIA 11 de marzo 2015
*/
public class Fecha {
/* Atributos privados */
private int dia;
private int mes;
private int año;
/* Constructor */
public Fecha(int dia, int mes, int año) {
this.setDia(dia);
this.setMes(mes);
this.setAño(año);
}
/**
* @return día
*/
public int getDia() {
return dia;
}
/**
* @param dia
*/
public void setDia(int dia) {
this.dia = dia;
}
/**
* @return mes
*/
public int getMes() {
return mes;
}
/**
* @param mes
*/
public void setMes(int mes) {
this.mes = mes;
}
/**
* @return año
*/
public int getAño() {
return año;
}
/**
* @param año
*/
public void setAño(int año) {
this.año = año;
}
@Override
public String toString() {
return "Fecha [dia=" + dia + ", mes=" + mes + ", año=" + año + "]\n";
}
}
Clase Hora
package ejemplos_composicion;
/**
* @author GALIA 11 de marzo 2015
*/
public class Hora {
private int hora;
private int minuto;
/* Constructor por defecto */
public Hora() {
}
/* Constructor */
public Hora(int hora, int minuto) {
/* se comprueban los valores de la hora */
if (hora < 0 || hora > 23 || minuto < 0 || minuto > 59) {
throw new IllegalArgumentException();
} else {
this.setHora(hora);
this.setMinuto(minuto);
}
}
/**
* @return hora
*/
public int getHora() {
return hora;
}
/**
* @param hora
*/
public void setHora(int hora) {
this.hora = hora;
}
/**
* @return minuto
*/
public int getMinuto() {
return minuto;
}
/**
* @param minuto
*/
public void setMinuto(int minuto) {
this.minuto = minuto;
}
@Override
public String toString() {
return "Hora [hora=" + hora + ", minuto=" + minuto + "";
}
}
Clase Main que comprueba todo esto
package ejemplos_composicion;
/**
* @author GALIA 11 de marzo 2015
*/
public class Main {
public static void main(String[] args) {
/* creamos un objeto Examen con el constructor por defecto */
Examen examen = new Examen();
/* creamos dos objetos Fecha y Hora respectivamente */
Fecha fecha = new Fecha(18, 3, 2015);
Hora hora = new Hora(18, 25);
/* establecemos con los métodos set() los valores de asignatura y aula */
examen.setAsignatura("Programación en Java: UML y Extensión de las clases");
examen.setAula("27");
/* actualizamos la información del objeto Examen */
examen = new Examen((examen.getAsignatura()), (examen.getAula()),
fecha, hora);
/* devuelve la información del objeto Examen creado */
System.out.println(examen.toString());
}
}
Ejemplo de composición Shaum. Extensión de las clases.
1 Response
Write a 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.