Está en la página 1de 2

UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA

ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERÍA DE SISTEMAS


PROGRAMACIÓN ORIENTADA A OBJETOS (IS - 142)

HOJA DE EJERCICIOS NRO. 01

1. Defina una clase Forma que tenga:


 Atributos: color, nombre y coordenadas (donde coordinadas es un tipo
abstracto de datos que contiene cordX, cordY y cordZ).
 Métodos:
o Imprimir()
o CambiarColor()
o Mover() - Que debe cambiar las coordenadas de su centro.

Defina la clase derivada Rectangulo, que tenga:


 Atributos: lado mayor y lado menor.
 Métodos:
o Imprimir() - Debe imprimir qué se trata de un rectángulo mostrando
su nombre, color, coordenadas y lado. Debería usarse la función
Imprimir de la clase base para realizar parte de este trabajo.
o CalcularArea() - Lado menor * lado mayor.
o CalcularPerimetro() – El cual es = 2 * lado menor + 2 * lado mayor.
o CambiarTamaño() – El cual cambia el tamaño del rectángulo. Recibe
como parámetro un factor de escala. Así, por ejemplo, si el factor vale
2, el rectángulo duplicará su tamaño y si es 0,5 se reducirá a la mitad.

Realice un programa que pruebe el funcionamiento de estas clases. Debe crear objetos
y comprobar el correcto funcionamiento de los métodos implementados.

2. Defina una clase Elipse derivada de la clase Forma. Recordatorio: una elipse queda
definida por su radio mayor (R) y su radio menor (r), y el método CalcularArea(), tal
que el área de una elipse es calculada por la formula = π*(R*r).

3. Defina una clase Cuadrado derivada de la clase Rectangulo, implemente un


método AsignarLado(),que garantice la igualdad de todos los lados del cuadrado.

4. Defina una clase Circulo derivada de la clase Elipse, implemente un método


AsignarRadio(), que garantice la uniformidad del radio propia del círculo.

5. ¿Cómo haría para obligar que todas las clases futuras derivadas tengan al menos los
métodos “CalcularArea()” y “CalcularPerimetro()”. ¿Tiene sentido incluir definir dichos
métodos en la clase “forma”?

6. Haga un diagrama de clases que refleja la estructura definida hasta el momento.


Añádale las clases: Punto, Línea, Triángulo, Triángulo Rectángulo y Polígono. ¿Dónde
irían? ¿Cuáles serían sus atributos y propiedades? (No los implemente).

Prof. Carlos Vila Quispe Semestre 2018 - II Página 1 de 2


UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERÍA DE SISTEMAS
PROGRAMACIÓN ORIENTADA A OBJETOS (IS - 142)

Realizar el análisis 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 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.

7. Add

Prof. Carlos Vila Quispe Semestre 2018 - II Página 2 de 2

También podría gustarte