El objetivo de este trabajo práctico es aplicar los conceptos fundamentales de Programación Orientada a Objetos (POO) en Python, trabajando con clases, objetos, atributos, métodos, herencia, polimorfismo, encapsulación y abstracción.
- Definición de clases y objetos
- Atributos y métodos
- Métodos constructores (
__init__
) - Encapsulación (getters, setters, propiedades)
- Abstracción (métodos privados y públicos)
- Herencia
- Polimorfismo
- Sobrecarga de métodos
Forkea el repositorio desde https://github.com/FabioDrizZt/TP-POO-Python/
Cada ejercicio debe resolverse en un archivo .py
independiente.
Ejemplo: ejercicio1.py
, ejercicio2.py
, etc.
Además, incluir un archivo main.py
que permita probar la ejecución de cada clase desarrollada.
- Crear una clase
Persona
con atributosnombre
yedad
. - Definir un método
saludar()
que imprima:
"Hola, me llamo <nombre> y tengo <edad> años."
- Instanciar al menos dos personas y hacer que se saluden entre sí.
- Crear una clase
Hotel
con:numero_maximo_de_huespedes
lugares_de_estacionamiento
huespedes
(inicialmente 0)
- Métodos:
anadir_huespedes(cantidad)
checkout(cantidad)
ocupacion_total()
- Probar el funcionamiento creando un hotel de 50 huéspedes y 20 estacionamientos.
- Crear una clase
Vehiculo
con atributosplaca
ymarca
. - Incluir métodos de acceso (
getPlaca
,getMarca
) y un método transaccionalmostrarVehiculo()
. - Permitir al usuario ingresar los datos por teclado y mostrar el vehículo.
- Implementar la clase
Lavadora
con un método públicolavar()
y métodos privados_llenar_tanque_de_agua()
y_lavar()
. - Simular el proceso de lavado mostrando mensajes por consola.
- Crear la clase
Empleado
con atributosnombre
yapellido
. - Implementar una propiedad
nombreCompleto
que pueda ser consultada y modificada con@property
y@setter
. - Probar la creación y modificación de un empleado.
- Crear una clase
Rectangulo
con atributosbase
yaltura
, y un métodoarea()
. - Crear la subclase
Cuadrado
que herede deRectangulo
. - Crear una clase
Persona
con un métodoavanza()
. - Crear la subclase
Ciclista
que sobrescriba el métodoavanza()
. - Probar instanciando objetos de cada clase y llamando a sus métodos.
- Crear la clase
Estudiante
con atributos:nombres
,apellidos
,cedula
,carrera
,edad
.
- Definir métodos de acceso (
getNombres
,getApellidos
, etc.). - Crear un método
imprimirEstudiante()
que muestre todos los datos. - Permitir al usuario crear un estudiante mediante
input()
y luego imprimirlo.
- Correcta implementación de clases y objetos
- Uso adecuado de encapsulación, herencia y polimorfismo
- Claridad y organización del código
- Comentarios explicativos
- Material de clase: Clases y Objetos en Python
- Documentación oficial de Python: https://docs.python.org/es/3/tutorial/classes.html