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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy