POO Tarea4

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

Clases y objetos en JAVA

Programació n Orientada a Objetos


Instituto IACC
xx-xx-20xx
Desarrollo

Se requiere crear una clase llamada persona que siga las siguientes condiciones:
• Sus atributos son: nombre, apellido, edad, RUT, sexo (H hombre, M mujer), peso y
altura. No queremos que se accedan directamente a ellos. Piensa que modificador de
acceso es el má s adecuado, también su tipo.
• Por defecto, todos los atributos menos el RUT será n valores por defecto segú n su
tipo (0 nú meros, cadena vacía para String, etc.). Sexo será hombre por defecto, usa
una constante para ello.
• Se implantará n varios constructores:
o Un constructor por defecto.
o Un constructor con el nombre, edad y sexo, el resto por defecto.
o Un constructor con todos los atributos como pará metro.

• Los métodos que se implementaran son:

o calcularIMC(): calculará si la persona está en su peso ideal (peso en


kg/(altura^2 en m)), si esta fó rmula devuelve un valor menor que 20, la
funció n devuelve un -1, si devuelve un nú mero entre 20 y 25 (incluidos),
significa que está por debajo de su peso ideal la funció n devuelve un 0 y si
devuelve un valor mayor que 25 significa que tiene sobrepeso, la funció n
devuelve un 1. Te recomiendo que uses constantes para devolver estos
valores.
o esMayorDeEdad(): indica si es mayor de edad, devuelve un booleano.
o comprobarSexo(char sexo): comprueba que el sexo introducido es correcto.
Si no es correcto, será H. No será visible al exterior. TAREA SEMANA 4
PROGRAMACIÓ N ORIENTADA A OBJETOS 1
o generRUT (): genera un nú mero aleatorio de 8 cifras má s un digito
verificador. Este método será invocado cuando se construya el objeto. Puedes
dividir el método para que te sea má s fá cil. No será visible al exterior.
o Métodos set de cada pará metro, excepto de RUT.

Debe crear un objeto o instancia para la clase Persona


/**
* Tarea semana 4 Programació n Orientada a Objetos
*
* @author Hernan Zuleta
*/
public class persona
{
/**
* constantes
*/
private final static char sexo_def = 'H';
static final char Masculino = 'H';
static final char Femenino = 'F';
public static final int bajopeso = -1;
public static final int pesoideal = 0;
public static final int sobrepeso = 1;

/**
* atributos
*/
private String nombre;
private String apellido;
private int edad;
private String RUT;
private char sexo;
private float peso;
private float altura;

/**
* constructor por defecto
*/
public persona (){
nombre = "";
apellido = "";
edad = 0;
RUT = "";
sexo = sexo_def;
peso = 0;
altura = 0;
}

/**
* Un constructor con el nombre, edad y sexo, el resto por defecto
*/
public persona(String nombre, int edad, char sexo){
this.nombre = nombre;
this.edad = edad;
this.sexo = sexo_def;
}

/**
* Un constructor con todos los atributos como pará metro
*/
public persona(String nombre, String apellido, int edad, String RUT,
char sexo, float peso, float altura){
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
this.RUT = RUT;
this.sexo = sexo;
this.peso = peso;
this.altura = altura;
}

/**
* metodos
*/
public float calcularimc(){
float imc = peso/(altura*altura);
if( imc <20){
return -1;
}
else{
if(imc>= 20 && imc <= 25){
return 0;
}
else {
return 1;
}
}

public boolean mayoredad(){


if(edad >=18){
return true;
}
else {
return false;}
}

private char comprobarsexo(char sexo){


switch (sexo){
case Masculino: return Masculino;
case Femenino: return Femenino;
default: return Masculino;
}
}

private void generarRUT(){


int numeroRut = (int) (Math.random()*99999999+1);
int digitoRut = (int) (Math.random()*10+1);
this.RUT = String.valueOf(numeroRut)+'-'+String.valueOf(digitoRut);
}

/**
* metodo set
*/

private void setNombre(String nombre){


this.nombre=nombre;
}

private void setApellido(String apellido){


this.apellido=apellido;
}

private void setEdad(int edad){


this.edad=edad;
}

private void setSexo(char sexo){


this.sexo=sexo;
}

private void setPeso(float peso){


this.peso=peso;
}

private void setAltura(float altura){


this.altura=altura;
}

}
Bibliografía

https://programandoointentandolo.com/2013/10/como-generar-numeros-aleatorios-
en-java.html
https://www.clasesdeinformaticaweb.com/java-desde-cero/set-en-java-metodos-
getter-y-setter/#:~:text=El%20m%C3%A9todo%20set%20es%20un,palabra
%20reservada%20private%20o%20protected.
https://www.arkaitzgarro.com/java/capitulo-3.html

IACC. (2020) Clases y objetos en Java. Programación Orientada a Objetos. Semana 4

También podría gustarte