Programación orientada a objetos
Enviado por Tamara Álvarez Hernando • 23 de Noviembre de 2021 • Tarea • 2.029 Palabras (9 Páginas) • 1.373 Visitas
TAREA 3
Ejercicio 1:
- Construye un nuevo proyecto Java denominado Prog03_Ejerc1. En el proyecto debe aparecer un paquete, que no puede ser el paquete por defecto, ponle el nombre que creas oportuno. Dentro de dicho paquete:
En la siguiente imagen se muestra como he creado un proyecto denominado “PROG03_Ejerc1” y un paquete llamado “ejercicios”.
CÓDIGO:
package ejercicios; //Paquete
- Crea una clase denominada Fecha. Esta clase no debe contener método main.
Imagen en la que creo la clase “Fecha” sin el método main.
CÓDIGO:
public class Fecha {} //Clase Fecha
- Declara en el fichero de la clase un tipo enumerado, denominado enumMes, para los meses del año.
CÓDIGO:
public enum enumMes {Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre};
- La clase debe contener un atributo para el día, otro para mes (del tipo enumerado declarado) y un tercero para el año.
CÓDIGO:
//Declaración de atributos con acceso público
public int dia;
public int anio;
public enumMes mes;
- Implementa un constructor que inicialice el mes al valor recibido por parámetro y los demás atributos a 0.
CÓDIGO:
public Fecha (enumMes mes){
this.mes = mes; //Utilizamos el opreador this. para diferenciar el atributo del parámetro
dia = 0;
anio = 0;
}
- Declara otro constructor que inicialice todos los atributos de la clase.
Este método constructor tiene el mismo nombre que el anterior, pero no supone un error porque se diferencian mediante la cantidad de parámetros que contienen.
CÓDIGO:
public Fecha (int dia, enumMes mes, int anio){
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
- Implementa los métodos que permitan acceder y modificar cada uno de los atributos de la clase. Los nombres de dichos métodos serán: getXXX () para obtener el valor del atributo XXX y setXXX (v) para actualizar el atributo XXX con el valor v.
El método getXXX() sirve para obtener el valor de un atributo, hay que indicar el tipo de dato que nos devuelve, y el método setXX() nos sirve para asignar un valor a dicho atributo.
CÓDIGO:
public enumMes getMes(){
return mes;
}
public void setMes(enumMes mes){
this.mes = mes;
}
public int getDia(){
return dia;
}
public void setDia (int dia){
this.dia = dia;
}
public int getAnio(){
return anio;
}
public void setAnio (int anio){
this.anio = anio;
}
- Implementa un método que devuelva true si el valor contenido en la fecha es verano y false en caso contrario.
En este apartado, he declarado la variable local “summer” de tipo boolean y le he asignado una condición que debe cumplir la fecha para que sea verano o no.
CÓDIGO:
public boolean isSummer(){
boolean summer = (mes==enumMes.Junio || mes==enumMes.Julio || mes==enumMes.Agosto);
return summer;
}
- Implementa un método que devuelva una cadena con la fecha en formato largo, por ejemplo, 15 de julio de 2020.
Para poder implementar el método toString, es necesario sobreescribirlo con el código de nuestro método porque toString es un método que pertenece a la subclase Object, que pertenece a la clase lang de la biblioteca de Java. Tenemos que indicarlo con el código “@Override”.
CÓDIGO:
@Override
public String toString(){
String fecha = dia + " de " + mes + " de " + anio;
return fecha;
}
Ahora vamos a probar su funcionalidad desde otra clase, denominada Principal, que contendrá el método main. Esta clase la debes crear en el mismo paquete que la clase Fecha.
CÓDIGO:
public class Principal {
public static void main (String [] args){
}
}
Dentro de dicha clase:
- Instancia un objeto de la clase Fecha denominado objFecha1 con el primer constructor.
CÓDIGO:
Fecha objFecha1 = new Fecha(enumMes.Diciembre);
- Actualiza los atributos dia y año para dicho objeto.
Para darle valor a los atributo, tenemos que invocar el método “.setXX()”. Lo hacemos escribiendo el nombre del objeto, añadiendo .setXX() y rellenando el valor del argumento.
...