1.
Clases, métodos, atributos e instancia
1. Crea una clase llamada Product
2. Agrega los atributos product_id, name y cost
3. Los atributos deben de poder inicializarse al crear el objeto.
4. Agregar el método add_to_cart y is_expired imprime algo dentro de los métodos o
déjalo vacío.
5. Crea una instancia de la clase Product y envía como argumentos 1 en product_id,
“mermelada” en name y 35.5 en cost
6. Obtén name e imprimelo.
Respuesta:
class Product:
def __init__(self, product_id, name, cost):
self.product_id = product_id
[Link] = name
[Link] = cost
def add_to_cart(self):
pass
def is_expired(self):
print("sds")
product = Product(1,"mermelada",35.5)
print([Link])
2. Herencia
1. Crea una clase llamada Account con los atributos account_id, username y password
2. Los atributos de la clase Account deben de poder inicializarse al crear el objeto.
3. Agrega el método login e imprime algo o dejalo vacio.
4. Crea una clase llamada Customer
5. Hereda los atributos y métodos de la clase Account a la clase Customer
6. A la clase Customer agregale los atributos customer_id, name, email, mobile
7. Los atributos de la clase Customer deben de poder inicializarse al crear el objeto.
8. Llamar al constructor de la clase padre y coloca los siguientes valores 1, "Cody",
"1234"
Respuesta:
class Account:
def __init__(self,account_id, username, password):
self.account_id=account_id
[Link] = username
[Link] = password
def login(self):
pass
class Customer(Account):
def __init__(self,customer_id, name, email, mobile):
self.customer_id = customer_id
[Link] = name
[Link] = email
[Link] = mobile
super().__init__(1, "Cody", "1234")
customer=Customer(1,"Jose","jose@",12345)
print([Link])
3. Encapsulamiento
1. Crea una clase llamada BankAccount
2. Agregale los atributos first_name con acceso público, clabe con acceso privado y
balance con acceso protegido.
3. Los atributos deben de poder inicializarse al crear el objeto.
4. Crea una instancia de la clase BankAccount y envia como argumentos "Cody",
"654321", 2500
5. Obtener el atributo first_name y modifica el valor "Jose"
6. Imprime first_name
Respuesta:
class BankAccount:
def __init__(self,first_name, clabe, balance):
self.__clabe=clabe
self._balance = balance
self.first_name = first_name
account = BankAccount("Cody","654321",2500)
account.first_name = "Jose"
print(account.first_name)
4. Abstracción
1. Crea una clase abstracta PaymentGateway
2. A la clase agregale PaymentGateway un método abstracto llamado
process_payment y que tenga los siguientes parámetros amount, card_details
3. Crea una clase StripePaymentGateway y hereda la clase abstracta
PaymentGateway
4. Imprime en el método un mensaje que diga “Pago realizado con Stripe”
Respuesta:
from abc import ABC,abstractmethod
class PaymentGateway(ABC):
@abstractmethod
def process_payment(self,amount, card_details):
pass
class StripePaymentGateway(PaymentGateway):
def process_payment(self,amount,card_details):
print("Pago realizado con Stripe")
5. Polimorfismo
1. Crea una clase llamada AudioFile y agrega un método llamado play y dentro del
método imprime un mensaje que diga "Reproduciendo archivo de audio" (Copia y
pega este mensaje)
2. Crea una clase llamada VideoFile y crea un método llamado play y dentro del
método imprime un mensaje que diga "Reproduciendo archivo de video" (Copia y
pega este mensaje)
3. Crear una función llamado play_media y agrega un parámetro llamado media_object
dentro del método ejecuta el método play del parámetro media_object
4. Crea una instancia de la clase AudioFile y guárdala en una variable mp3_file
5. Crea una instancia de la clase VideoFile y guárdala en una variable mp4_file
6. Ejecuta el método play_media y envía mp3_file como argumento
7. Ejecuta el método play_media y envía mp4_file como argumento
Respuesta:
class AudioFile:
def play(self):
print("Reproduciendo archivo de audio")
class VideoFile:
def play(self):
print("Reproduciendo archivo de video")
def play_media(media_object):
media_object.play()
mp3_file = AudioFile()
mp4_file = VideoFile()
play_media(mp3_file)
play_media(mp4_file)