0% encontró este documento útil (0 votos)
686 vistas3 páginas

Ejercicios 2 de Herencia Poo

La pregunta 1 pide crear una clase Persona y clases derivadas Paciente y Médico para una clínica nutricional. La clase Paciente debe calcular el IMC y verificar la edad y sexo de una persona. La pregunta 2 pide implementar una jerarquía de clases de empleados. La pregunta 3 pide modelar diferentes tipos de productos (frescos, refrigerados, congelados) para una empresa agroalimentaria usando herencia.

Cargado por

Ivan Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
686 vistas3 páginas

Ejercicios 2 de Herencia Poo

La pregunta 1 pide crear una clase Persona y clases derivadas Paciente y Médico para una clínica nutricional. La clase Paciente debe calcular el IMC y verificar la edad y sexo de una persona. La pregunta 2 pide implementar una jerarquía de clases de empleados. La pregunta 3 pide modelar diferentes tipos de productos (frescos, refrigerados, congelados) para una empresa agroalimentaria usando herencia.

Cargado por

Ivan Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

POO HERENCIA

PRACTICA CALIFICADA 2
PREGUNTA 1 (7 puntos)

Crear un programa en Java para una Clínica Nutricional que contenga una clase
llamada Persona, sus atributos son: nombre, edad, RUC, sexo (H hombre, M mujer),
peso y altura. No se quiere acceder directamente a ellos. Piense qué modificador de
acceso es el más adecuado, también su tipo. Además crear las siguientes clases
derivadas una llamada Paciente que tenga como atributos fechaPrimeraConsulta,
medicoTratante (de tipo Médico); otra clase llamada Medico que herede de Persona y
tenga como atributo adicional precioConsulta, especialidad. Cada una de las clases
debe tener su respectivo constructor.
Los métodos que se implementarán en la clase Paciente son:
calcularIMC(): calculará si la persona está en su peso ideal (peso en kg/ (altura^2 en
m)), devuelve la información de la Clasificación de la OMS, según la Tabla1.

Tabla1

esMayorDeEdad (): indica si es mayor de edad, devuelve un booleano.


comprobarSexo(char sexo): comprueba que el sexo introducido es correcto y retorna
un String con el resultado obtenido en la evaluación.
toString(): devuelve toda la información del objeto.

Luego, crear una clase ejecutable que haga lo siguiente: Pedir por teclado el nombre,
RUC, la edad, sexo, peso, altura, fechaPrimeraConsulta, medicoTratante,
precioConsulta, especialidad. Crear 1 objeto de la clase anterior que deberá
comprobar si está en su peso ideal, tiene sobrepeso o por debajo de su peso ideal con
un mensaje.

Indicar si es mayor de edad.

Por último, mostrar la información del objeto.

PREGUNTA 2 (6 puntos)
POO HERENCIA

Codifica la siguiente jerarquía de clases java representada por este diagrama UML:

La clase base es la clase Empleado. Esta clase contiene:


Un atributo privado nombre de tipo String que heredan el resto de clases. 
Un constructor por defecto.
Método set y get para el atributo nombre.
Un método toString() que devuelve el String: "Empleado " + nombre.

El resto de clases solo deben sobrescribir el método toString() en cada una de ellas y
declarar el constructor adecuado de forma que cuando la ejecución de las siguientes
instrucciones:
Directivo D1 = new Directivo("Mario");
Operario OP1 = new Operario("Alfonso");
Oficial OF1 = new Oficial("Luis");
Tecnico T1 = new Tecnico("Pablo");
System.out.println(D1);
System.out.println(OP1);
System.out.println(OF1);
System.out.println(T1);
Resultado:

Empleado Mario -> Directivo


Empleado Alfonso -> Operario
Empleado Luis -> Operario -> Oficial
Empleado Pablo -> Operario -> Tecnico

PREGUNTA 3 (7 puntos)

Se plantea desarrollar un programa Java que permita la gestión de una empresa


agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos
refrigerados y productos congelados. Todos los productos llevan esta información
POO HERENCIA

común: fecha de caducidad y número de lote. A su vez, cada tipo de producto lleva
alguna información específica. Los productos frescos deben llevar la fecha de
envasado y el país de origen. Los productos refrigerados deben llevar el código del
organismo de supervisión alimentaria, la fecha de envasado, la temperatura de
mantenimiento recomendada y el país de origen. Los productos congelados deben
llevar la fecha de envasado, el país de origen y la temperatura de mantenimiento
recomendada.

Hay tres tipos de productos congelados: congelados por aire, congelados por agua y
congelados por nitrógeno. Los productos congelados por aire deben llevar la
información de la composición del aire con que fue congelado (% de nitrógeno, % de
oxígeno, % de dióxido de carbono y % de vapor de agua). Los productos congelados
por agua deben llevar la información de la salinidad del agua con que se realizó la
congelación en gramos de sal por litro de agua. Los productos congelados por
nitrógeno deben llevar la información del método de congelación empleado y del
tiempo de exposición al nitrógeno expresada en segundos.

Crear el código de las clases Java implementando una relación de herencia siguiendo


estas indicaciones:

a) En primer lugar realizar un esquema con papel y bolígrafo donde se represente


cómo se van a organizar las clases cuando escribamos el código. Estudiar los atributos
de las clases y trasladar a la superclase todo atributo que pueda ser trasladado.

b) Crear superclases intermedias (aunque no se correspondan con la descripción dada


de la empresa) para agrupar atributos y métodos cuando sea posible. Esto
corresponde a “realizar abstracciones” en el ámbito de la programación, que pueden o
no corresponderse con el mundo real.

c) Cada clase debe disponer de constructor y permitir establecer (set) y recuperar (get)
el valor de sus atributos y tener un método que permita mostrar la información del
objeto cuando sea procedente.

Crear una clase testHerencia3 con el método main donde se creen: dos productos
frescos, tres productos refrigerados y cinco productos congelados (2 de ellos
congelados por agua, otros 2 por aire y 1 por nitrógeno). Mostrar la información de
cada producto por pantalla.

También podría gustarte