Menu iconMenu icon
Python y SQL Biblia

Capítulo 6: Programación Orientada a Objetos en Python

6.7 Ejercicios Prácticos

Ejercicio 6.7.1: Definición de Clase y Creación de Objetos

Define una clase Student con dos atributos: name y grade. El grade debería ser un flotante entre 0 y 100. Implementa un método pass_or_fail que imprima "Aprobado" si la calificación es de 60 o más, y "Reprobado" de lo contrario.

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

    def pass_or_fail(self):
        if self.grade >= 60:
            print("Pass")
        else:
            print("Fail")

# Test the Student class
student1 = Student("Alice", 85)
student1.pass_or_fail()  # Outputs: Pass

Ejercicio 6.7.2: Herencia y Polimorfismo

Crea una clase Animal con un método speak que imprima "No sé qué digo". Luego, crea dos clases Dog y Cat que hereden de Animal y sobrescriban el método speak para imprimir "Woof" y "Meow", respectivamente.

class Animal:
    def speak(self):
        print("I don't know what I say")

class Dog(Animal):
    def speak(self):
        print("Woof")

class Cat(Animal):
    def speak(self):
        print("Meow")

# Test the Dog and Cat classes
dog = Dog()
dog.speak()  # Outputs: Woof

cat = Cat()
cat.speak()  # Outputs: Meow

Ejercicio 6.7.3: Encapsulación

Crea una clase Car con dos atributos: speed y max_speed. La velocidad (speed) debe ser inicialmente 0 y la velocidad máxima (max_speed) debe establecerse durante la inicialización. Implementa los métodos accelerate y brake que aumentan y disminuyen la velocidad, respectivamente. El método accelerate no debe permitir que la velocidad supere la max_speed.

class Car:
    def __init__(self, max_speed):
        self.speed = 0
        self.max_speed = max_speed

    def accelerate(self):
        if self.speed < self.max_speed:
            self.speed += 10
            if self.speed > self.max_speed:
                self.speed = self.max_speed

    def brake(self):
        if self.speed > 0:
            self.speed -= 10
            if self.speed < 0:
                self.speed = 0

# Test the Car class
car = Car(100)
car.accelerate()
print(car.speed)  # Outputs: 10
car.accelerate()
print(car.speed)  # Outputs: 20
car.brake()
print(car.speed)  # Outputs: 10

Estos ejercicios tienen como objetivo consolidar tu comprensión de las clases, objetos, herencia, polimorfismo y encapsulación en Python. ¡Recuerda que la práctica es la clave para dominar estos conceptos!

6.7 Ejercicios Prácticos

Ejercicio 6.7.1: Definición de Clase y Creación de Objetos

Define una clase Student con dos atributos: name y grade. El grade debería ser un flotante entre 0 y 100. Implementa un método pass_or_fail que imprima "Aprobado" si la calificación es de 60 o más, y "Reprobado" de lo contrario.

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

    def pass_or_fail(self):
        if self.grade >= 60:
            print("Pass")
        else:
            print("Fail")

# Test the Student class
student1 = Student("Alice", 85)
student1.pass_or_fail()  # Outputs: Pass

Ejercicio 6.7.2: Herencia y Polimorfismo

Crea una clase Animal con un método speak que imprima "No sé qué digo". Luego, crea dos clases Dog y Cat que hereden de Animal y sobrescriban el método speak para imprimir "Woof" y "Meow", respectivamente.

class Animal:
    def speak(self):
        print("I don't know what I say")

class Dog(Animal):
    def speak(self):
        print("Woof")

class Cat(Animal):
    def speak(self):
        print("Meow")

# Test the Dog and Cat classes
dog = Dog()
dog.speak()  # Outputs: Woof

cat = Cat()
cat.speak()  # Outputs: Meow

Ejercicio 6.7.3: Encapsulación

Crea una clase Car con dos atributos: speed y max_speed. La velocidad (speed) debe ser inicialmente 0 y la velocidad máxima (max_speed) debe establecerse durante la inicialización. Implementa los métodos accelerate y brake que aumentan y disminuyen la velocidad, respectivamente. El método accelerate no debe permitir que la velocidad supere la max_speed.

class Car:
    def __init__(self, max_speed):
        self.speed = 0
        self.max_speed = max_speed

    def accelerate(self):
        if self.speed < self.max_speed:
            self.speed += 10
            if self.speed > self.max_speed:
                self.speed = self.max_speed

    def brake(self):
        if self.speed > 0:
            self.speed -= 10
            if self.speed < 0:
                self.speed = 0

# Test the Car class
car = Car(100)
car.accelerate()
print(car.speed)  # Outputs: 10
car.accelerate()
print(car.speed)  # Outputs: 20
car.brake()
print(car.speed)  # Outputs: 10

Estos ejercicios tienen como objetivo consolidar tu comprensión de las clases, objetos, herencia, polimorfismo y encapsulación en Python. ¡Recuerda que la práctica es la clave para dominar estos conceptos!

6.7 Ejercicios Prácticos

Ejercicio 6.7.1: Definición de Clase y Creación de Objetos

Define una clase Student con dos atributos: name y grade. El grade debería ser un flotante entre 0 y 100. Implementa un método pass_or_fail que imprima "Aprobado" si la calificación es de 60 o más, y "Reprobado" de lo contrario.

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

    def pass_or_fail(self):
        if self.grade >= 60:
            print("Pass")
        else:
            print("Fail")

# Test the Student class
student1 = Student("Alice", 85)
student1.pass_or_fail()  # Outputs: Pass

Ejercicio 6.7.2: Herencia y Polimorfismo

Crea una clase Animal con un método speak que imprima "No sé qué digo". Luego, crea dos clases Dog y Cat que hereden de Animal y sobrescriban el método speak para imprimir "Woof" y "Meow", respectivamente.

class Animal:
    def speak(self):
        print("I don't know what I say")

class Dog(Animal):
    def speak(self):
        print("Woof")

class Cat(Animal):
    def speak(self):
        print("Meow")

# Test the Dog and Cat classes
dog = Dog()
dog.speak()  # Outputs: Woof

cat = Cat()
cat.speak()  # Outputs: Meow

Ejercicio 6.7.3: Encapsulación

Crea una clase Car con dos atributos: speed y max_speed. La velocidad (speed) debe ser inicialmente 0 y la velocidad máxima (max_speed) debe establecerse durante la inicialización. Implementa los métodos accelerate y brake que aumentan y disminuyen la velocidad, respectivamente. El método accelerate no debe permitir que la velocidad supere la max_speed.

class Car:
    def __init__(self, max_speed):
        self.speed = 0
        self.max_speed = max_speed

    def accelerate(self):
        if self.speed < self.max_speed:
            self.speed += 10
            if self.speed > self.max_speed:
                self.speed = self.max_speed

    def brake(self):
        if self.speed > 0:
            self.speed -= 10
            if self.speed < 0:
                self.speed = 0

# Test the Car class
car = Car(100)
car.accelerate()
print(car.speed)  # Outputs: 10
car.accelerate()
print(car.speed)  # Outputs: 20
car.brake()
print(car.speed)  # Outputs: 10

Estos ejercicios tienen como objetivo consolidar tu comprensión de las clases, objetos, herencia, polimorfismo y encapsulación en Python. ¡Recuerda que la práctica es la clave para dominar estos conceptos!

6.7 Ejercicios Prácticos

Ejercicio 6.7.1: Definición de Clase y Creación de Objetos

Define una clase Student con dos atributos: name y grade. El grade debería ser un flotante entre 0 y 100. Implementa un método pass_or_fail que imprima "Aprobado" si la calificación es de 60 o más, y "Reprobado" de lo contrario.

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

    def pass_or_fail(self):
        if self.grade >= 60:
            print("Pass")
        else:
            print("Fail")

# Test the Student class
student1 = Student("Alice", 85)
student1.pass_or_fail()  # Outputs: Pass

Ejercicio 6.7.2: Herencia y Polimorfismo

Crea una clase Animal con un método speak que imprima "No sé qué digo". Luego, crea dos clases Dog y Cat que hereden de Animal y sobrescriban el método speak para imprimir "Woof" y "Meow", respectivamente.

class Animal:
    def speak(self):
        print("I don't know what I say")

class Dog(Animal):
    def speak(self):
        print("Woof")

class Cat(Animal):
    def speak(self):
        print("Meow")

# Test the Dog and Cat classes
dog = Dog()
dog.speak()  # Outputs: Woof

cat = Cat()
cat.speak()  # Outputs: Meow

Ejercicio 6.7.3: Encapsulación

Crea una clase Car con dos atributos: speed y max_speed. La velocidad (speed) debe ser inicialmente 0 y la velocidad máxima (max_speed) debe establecerse durante la inicialización. Implementa los métodos accelerate y brake que aumentan y disminuyen la velocidad, respectivamente. El método accelerate no debe permitir que la velocidad supere la max_speed.

class Car:
    def __init__(self, max_speed):
        self.speed = 0
        self.max_speed = max_speed

    def accelerate(self):
        if self.speed < self.max_speed:
            self.speed += 10
            if self.speed > self.max_speed:
                self.speed = self.max_speed

    def brake(self):
        if self.speed > 0:
            self.speed -= 10
            if self.speed < 0:
                self.speed = 0

# Test the Car class
car = Car(100)
car.accelerate()
print(car.speed)  # Outputs: 10
car.accelerate()
print(car.speed)  # Outputs: 20
car.brake()
print(car.speed)  # Outputs: 10

Estos ejercicios tienen como objetivo consolidar tu comprensión de las clases, objetos, herencia, polimorfismo y encapsulación en Python. ¡Recuerda que la práctica es la clave para dominar estos conceptos!