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!