Clase Hogar - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python con las siguientes clases: - **House**: Crea una clase llamada "House" con un atributo para "area". Incluye un constructor para establecer el área y un método "ShowData" que imprimirá una declaración como "Soy una casa, mi área es de 200 m2" (reemplazando 200 con el área real). Implementa métodos getter y setter para el área. - **Door**: Una casa tiene una puerta con un atributo "color" (una cadena). La puerta tendrá un método "ShowData" que muestra algo como "Soy una puerta, mi color es marrón" (usando el color real). Proporciona métodos getter y setter para el color de la puerta. Además, crea un método "GetDoor" en la clase House para recuperar la puerta. - **SmallApartment**: Esta es una subclase de House, que tendrá un área predefinida de 50 m2. - **Person**: Crea una clase "Person" que contiene un atributo "name" (cadena) y tiene una casa. El método "ShowData" de una persona imprimirá su nombre, seguido de los detalles de su casa y la puerta. - **Función Principal**: Escribe una función "Main" para instanciar un "SmallApartment" y una "Person" que vive en él. La función principal debe mostrar los datos de la persona, incluyendo la información de su casa y puerta. Este ejercicio es perfecto para practicar la definición de clases, la herencia y la implementación de métodos en Python. Al implementar estas clases, obtendrás experiencia práctica en el manejo de definiciones de clases, herencia e implementación de métodos en Python. Este ejercicio no solo refuerza tu comprensión de la programación orientada a objetos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con definiciones de clases, herencia e implementación de métodos, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

POO Dominando clases en Python

 Ejercicio

Clase Hogar

 Objectivo

Desarrolla un programa Python con las siguientes clases:

- Casa: Crea una clase llamada "Casa" con un atributo para "área". Incluye un constructor para establecer el área y un método "MostrarDatos" que imprimirá una declaración como "Soy una casa, mi área es de 200 m2" (reemplazando 200 con el área real). Implementa métodos getter y setter para el área.

- Puerta: Una casa tiene una puerta con un atributo "color" (una cadena). La puerta tendrá un método "MostrarDatos" que muestra algo como "Soy una puerta, mi color es marrón" (usando el color real). Proporciona métodos getter y setter para el color de la puerta. Además, crea un método "GetDoor" en la clase Casa para recuperar la puerta.

- PequeñoApartamento: Esta es una subclase de Casa, que tendrá un área predefinida de 50 m2.

- Persona: Crea una clase "Persona" que contenga un atributo "nombre" (cadena) y tenga una casa. El método "ShowData" de una persona imprimirá su nombre, seguido de los detalles de su casa y la puerta.

- Función principal: Escriba una función "Principal" para crear una instancia de un "SmallApartment" y una "Person" que viva en él. La función principal debe mostrar los datos de la persona, incluida la información de su casa y puerta.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Class for Door
class Door:
    def __init__(self, color):
        self._color = color  # Color attribute of the door

    # Getter method for color
    def get_color(self):
        return self._color

    # Setter method for color
    def set_color(self, color):
        self._color = color

    # Method to display door information
    def show_data(self):
        print(f"I am a door, my color is {self._color}")

# Class for House
class House:
    def __init__(self, area):
        self._area = area  # Area of the house
        self.door = Door("brown")  # Default door color
        # You can customize the door color if needed using setter

    # Getter method for area
    def get_area(self):
        return self._area

    # Setter method for area
    def set_area(self, area):
        self._area = area

    # Method to display house information
    def show_data(self):
        print(f"I am a house, my area is {self._area} m2")

    # Method to get the door
    def get_door(self):
        return self.door

# SmallApartment class (subclass of House)
class SmallApartment(House):
    def __init__(self):
        super().__init__(50)  # Default area for SmallApartment is 50 m2

# Class for Person
class Person:
    def __init__(self, name, house):
        self._name = name  # Name of the person
        self.house = house  # The house that the person owns

    # Method to display person's data including house and door information
    def show_data(self):
        print(f"My name is {self._name}.")
        self.house.show_data()  # Show house data
        self.house.get_door().show_data()  # Show door data

# Main function to test the classes
def main():
    # Create a SmallApartment object
    apartment = SmallApartment()

    # Create a Person object who lives in the SmallApartment
    person = Person("John", apartment)

    # Display the person's data, including house and door info
    person.show_data()

# Call the main function to run the program
if __name__ == "__main__":
    main()

 Output

My name is John.
I am a house, my area is 50 m2
I am a door, my color is brown

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de POO Dominando clases en Python

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Array de tablas

    En este ejercicio, desarrollarás un proyecto en Python llamado "Tables2", ampliando el proyecto "Tables". En este proyecto, define una clase llamada "CoffeeTable" que...

  •  Cifrador y Descifrador

    En este ejercicio, desarrollarás una clase en Python llamada "Encryptor" para la encriptación y desencriptación de texto. Este ejercicio es perfecto para pract...

  •  Sistemas numéricos avanzados

    En este ejercicio, desarrollarás un programa en Python para representar números complejos, que consisten en una parte real y una parte imaginaria. Este ejercicio...

  •  Clase Mesa, mesa de café y patas

    En este ejercicio, desarrollarás un proyecto en Python basado en el ejemplo de mesas y mesas de café, pero ahora introducirás una nueva clase llamada "Leg". Este e...

  •  Clase Catálogo

    En este ejercicio, desarrollarás un diagrama de clases en Python para una utilidad de catálogo que almacena detalles sobre archivos de música, películas y programas d...

  •  Generación aleatoria de valor

    En este ejercicio, desarrollarás un proyecto en Python con una clase llamada RandomNumber que incluye tres métodos estáticos. Este ejercicio es perfecto para p...