Está en la página 1de 15

Título de la tarea

Clases y objetos en JAVA

Nombre Alumno

Karolyna Garrido Núñez

Nombre Asignatura

Programación orientada a objetos 1

Instituto IACC

Ponga la fecha aquí

11/07/2021
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 implantaran 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:

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.

comprobarSexo(char sexo): comprueba que el sexo introducido es correcto. Si no es correcto,

será H. No será visible al exterior.

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. Métodos set de cada parámetro, excepto de RUT.


En está imagen podemos ver la creación de Clase Persona.

 Primero se deben declarar sus atributos (nombre, apellido, rut, peso, edad y altura)

con sus valores por defecto.

 Se declaran sus constantes para utilizar con el atributo Sexo.


 Por defecto sin parámetros, esto hace que se genere un rut aleatorio.

 Con algunos de los parámetros se crean métodos set para asignar valores hacía.

algunos atributos de la clase.

 Definición de los métodos para establecer IMC y mayoría de edad.


 Método que es para generar el rut generaRut(), tiene dos variables locales:

 NumeroRut que se asigna a un número entero aleatorio entre 1 y 99999999.

 DvRut se asigna un número entero aleatorio entre 0 y 9.

 Se asigna el valor de concatación de los valores anteriores convertidos a string

mediante valueOf. Esto sirve para separarlos entre ellos por un guión.

 Declaración de función Main ()

 Se divide en tres secciones, la primera se muestra como el resultado se crea por una

instancia por defecto de clase persona declarando P un objeto.


 Segunda sección se muestra la cración de instancia del objeto Q de la clase persona

mediante el segundo constructor definido.

 Tercera sección () se muestran los atributos de instancia objeto R de la clase

primera persona donde todos se requiere de la función de los parametros.

/**
/**

* Clase Persona - Semana 4. @author (Karolyna Garrido) @version (11-07-2021)

*/

public class Persona

//atributos

private String nombre = null;

private String apellido = null;

private String rut = null;

private char sexo = MASC;

private int edad = 0;

private int peso = 0;

private int altura = 0;

// CONSTANTES

protected static final char MASC = 'H';

protected static final int FEM = 'M';

// Constructor por defecto para obejtos de la clase Persona

public Persona()

generaRut();

// Constuctor con nombre, edad y sexo como parametro, lo démas por efecto
public Persona(String nombre1, int edad1, char sexo1)

setNombre(nombre1);

generaRut();

setEdad(edad1);

setSexo(sexo1);

// Constructor con todos los atributos como parámetro

public Persona(String nombre2, String apellido2, char sexo2, int edad2, int peso2, int altura2)

setNombre(nombre2);

setApellido(apellido2);

generaRut();

// atributo rut no tiene metodo set

setSexo(sexo2);

setEdad(edad2);

setPeso(peso);

setAltura(altura2);

//Metodos Set para asignar valores a atributos

private void setNombre(String nombrePersona)

this.nombre = nombrePersona;

}
private void setApellido(String apellidoPersona)

this.apellido = apellidoPersona;

private void setSexo(char sexoPersona)

this.sexo = comprobarSexo(sexoPersona);

/* utiliza metodo para verificar que sexo sea 'H'ó 'M',por defecto 'H'*/

private void setEdad(int edadPersona)

this.edad = edadPersona;

private void setPeso(int pesoPersona)

this.peso = pesoPersona;

private void setAltura(int alturaPersona)

{
this.altura = alturaPersona;

//Metodo para calcular IMC de persona

public int calcularIMC()

int imc = peso / (altura * altura);

if (imc < 20) {

return -1;

else {

if (imc >= 20 && imc <= 25) {

return 0;

else {

return 1;

// Metodo para calcular si Persona es mayor de edad

public boolean esMayorDeEdad()

if (edad >= 18) {

return true;

}
else {

return false;

// Metodo para comprobar sexo de Persona. se utiliza en metodo setSexo()

private char comprobarSexo(char sex)

switch (sex)

case MASC : return MASC;

//break;

case FEM: return FEM;

//break;

default : return MASC;

//Metodo para generar rut aleatorio

private void generaRut()

int numeroRut = (int)(Math.random() * 99999999 + 1);

/* numeroRut tendra el valor de un numero entre 1 y 99999999*/

int dvRut = (int)(Math.random() * 0 + 9);

/* dvRut tendrá valor entero entre 0 y 9*/

this.rut = String.valueOf(numeroRut) + "-" + String.valueOf(dvRut);


/* atributo rut tendrá el valor de concatenar numeroRut, un guión y dvRut*/

static public void main(String[] args)

Persona P = new Persona();

/* se crea el objeto de instancia de clase Persona por defecto se muestran sus atributos en

consola*/

System.out.println("CONSTRUCTOR POR DEFECTO");

System.out.println("NOMBRE : " + P.nombre);

System.out.println("APELLIDO: " + P.apellido);

System.out.println("RUT : " + P.rut);

System.out.println("SEXO : " + P.sexo);

System.out.println("EDAD : " + P.edad);

System.out.println("MAYOR DE EDAD : " + P.esMayorDeEdad());

System.out.println("PESO : " + P.peso + " KGS");

System.out.println("ALTURA : " + P.altura + " CMS");

if (P.altura > 0) {

System.out.println("IMC : " + P.calcularIMC());

System.out.println("----------------------------------");

Persona Q = new Persona("Damary", 17, 'M'); // se crea el objeto de clase persona 2do

constructor

//se muestran sus atributos en consola


System.out.println("CONSTRUCTOR N°2");

System.out.println("NOMBRE : " + Q.nombre);

System.out.println("APELLIDO : " + Q.apellido);

System.out.println("RUT : " + Q.rut);

System.out.println("SEXO : " + Q.sexo);

System.out.println("EDAD : " + Q.esMayorDeEdad());

System.out.println("PESO : " + Q.peso + " KGS");

System.out.println("ALTURA : " + Q.altura + "CMS");

if (Q.altura > 0) {

System.out.println("IMC : " + Q.calcularIMC());

System.out.println("----------------------------------");

Persona A = new Persona("Hector","Garrido",'H',60,70,175);// se crea el objeto instancia de

clase Persona 3er constructor (todos los parametros)

//se muestran sus atributos en consola

System.out.println("CONSTRUCTOR N°3 (TODOS LOS PARAMETROS)");

System.out.println("NOMBRE : " + A.nombre);

System.out.println("APELLIDO : " + A.apellido);

System.out.println("RUT : " + A.rut);

System.out.println("SEXO : " + A.sexo);

System.out.println("EDAD : " + A.edad + " AÑOS");

System.out.println("MAYOR DE EDAD : " + A.esMayorDeEdad());

System.out.println("PESO : " + A.peso + " KGS");

System.out.println("ALTURA : " + A.altura + " CMS");


if (A.altura > 0) {

System.out.println("IMC : " + A.calcularIMC());

System.out.println("----------------------------------");

Bibliografía

Contenido entregado por iacc semana 4.

También podría gustarte