INGENIERÍA INDUSTRIAL
MODELAMIENTO ORIENTADO A OBJETOS - II233
TEMA: OBJETOS Y CLASES
Profesor: Rubén Rivas
1. Crear una clase Punto que permita representar un punto en un espacio
bidimensional. Tendrá dos atributos, x y, que guardaran las
coordenadas. Habrá un constructor parametrizado con valores por default
que crea un punto en (0, 0). También habrá métodos para obtener las
coordenadas y para imprimir el punto con el formato (x, y).
2. Crear una clase NumeroComplejo que permita trabajar con números
complejos (parte real y parte imaginaria). Incluye los siguientes
métodos: constructores (por defecto y parametrizado), métodos get,
método set, suma, resta, multiplicación, división.
3. Crear una clase Rectangulo que represente rectángulos por medio de
cuatro puntos (los vértices). Dispondrá de dos constructores: uno que
cree un rectángulo partiendo de 2 de sus vértices (superior izquierdo,
inferior derecho) y otro que cree un rectángulo partiendo de la base y
la altura, de forma que su vértice inferior izquierdo esté en (0,0). La
clase también incluirá un método para calcular la superficie y otro que
desplace el rectángulo en el plano.
4. Define una clase Linea con dos atributos: punto_a y punto_b. Son dos
puntos por los que pasa la línea en un espacio de dos dimensiones. La
clase dispondrá de los siguientes métodos:
• Constructor predeterminado que crea una línea con sus dos puntos
como (0,0) y (0,0).
• Constructor que recibe como parámetros dos objetos de la clase
Punto, que son utilizados para inicializar los atributos.
• mueve_derecha(float), Desplaza la línea a la derecha la distancia
que se indique.
• mueve_izquierda(float), Desplaza la línea a la izquierda la
distancia que se indique.
• mueve_arriba(float), Desplaza la línea hacia arriba la distancia que
se indique.
• mueve_abajo(float), Desplaza la línea hacia abajo la distancia que
se indique.
• Métodos Get y Set.
• Método que permita mostrar la información de la línea de la
siguiente forma:
[punto_a, punto_b]. Por ejemplo: [(0.0,0.0),(1.0,1.0)]
5. Crea una clase Cuenta (bancaria) con atributos para el número de cuenta
(un entero), el DNI del cliente (otro entero), el saldo actual y el
interés anual que se aplica a la cuenta (porcentaje). Define en la
clase los siguientes métodos:
• Constructor por defecto y constructor con: DNI, saldo e interés
• Getters y Setters. Para el número de cuenta no habrá Setter.
• actualizar_saldo(): actualizará el saldo de la cuenta aplicándole el
interés diario (interés anual dividido entre 365 aplicado al saldo
actual).
• ingresar(float): permitirá ingresar una cantidad en la cuenta.
• retirar(float): permitirá sacar una cantidad de la cuenta (si hay
saldo).
• Método que permita mostrar todos los datos de la cuenta.
• El número de cuenta se asignará de forma correlativa a partir de
100001, asignando el siguiente número al último asignado.
6. Desarrolla una clase Cafetera con atributos capacidad_maxima (la
cantidad máxima de café que puede contener la cafetera) y
cantidad_actual (la cantidad actual de café que hay en la cafetera).
Implementa, al menos, los siguientes métodos:
• Constructor predeterminado: establece la capacidad máxima en 1000
(c.c.) y la actual en cero (cafetera vacía).
• Constructor con la capacidad máxima de la cafetera; inicializa la
cantidad actual de café igual a la capacidad máxima.
• Constructor con la capacidad máxima y la cantidad actual. Si la
cantidad actual es mayor que la capacidad máxima de la cafetera, la
ajustará al máximo.
• Getters y Setters.
• llenar_cafetera(): hace que la cantidad actual sea igual a la
capacidad.
• servir_taza(int): simula la acción de servir una taza con la
capacidad indicada. Si la cantidad actual de café “no alcanza” para
llenar la taza, se sirve lo que quede.
• vaciar_cafetera(): pone la cantidad de café actual en cero.
• agregar_cafe(int): añade a la cafetera la cantidad de café indicada
7. Haz una clase llamada Password que siga las siguientes condiciones:
• Que tenga los atributos longitud y contraseña. Por defecto, la
longitud será de 8.
• Un constructor sin parámetros pero que genere una contraseña
aleatoria con esa longitud.
Los métodos que implementa serán:
• es_fuerte(): devuelve un booleano si es fuerte o no, para que sea
fuerte debe tener más de 2 mayúsculas, más de 1 minúscula y más de 5
números.
• generar_password(): genera la contraseña del objeto con la longitud
que tenga.
• Método get para contraseña (get_password) y longitud (get_length).
• Método set para contraseña (set_password).
Crear un objeto y verificar si la contraseña es fuerte, cambiar la
contraseña usando el set (set_password) y verificar nuevamente si el
password es fuerte.
Fuente: https://www.studocu.com/ec/document/universidad-tecnica-particular-de-
loja/realidad-nacional/12definicion-de-clases-ejercicios/11323369