Programación orientada a objetos: Herencia de clases
Hice un video tutorial donde explico cómo funciona la herencia de clases en programación orientada a objetos.
Primera parte
Segunda parte
Código fuente
A continuación puedes encontrar el código utilizado en este video:
class Vehiculo:
nombre = ''
llantas = 0
motor = 0
encendido = "Apagado"
def __init__(self, nombre, llantas, motor):
self.nombre = nombre
self.llantas = llantas
self.motor = motor
def encender(self):
self.encendido = "Encendido"
def apagar(self):
self.encendido = "Apagado"
class Auto(Vehiculo):
puertas = 0
puertas_abiertas = False
def __init__(self, nombre, llantas, motor, puertas):
self.nombre = nombre
self.llantas = llantas
self.motor = motor
self.puertas = puertas
def abrir_puertas(self):
self.puertas_abiertas = True
def cerrar_puertas(self):
self.puertas_abiertas = False
class Moto(Vehiculo):
pass
class Autobus(Vehiculo):
max_pasajeros = 0
pasajeros = 0
tarifa = 0
pasaje_recaudado = 0
def __init__(self, nombre, llantas, motor, tarifa, max_pasajeros):
self.nombre = nombre
self.llantas = llantas
self.motor = motor
self.tarifa = tarifa
self.max_pasajeros = max_pasajeros
def abordar_pasajeros(self, pasajeros_abordando):
nuevos_pasajeros = self.pasajeros + pasajeros_abordando
if nuevos_pasajeros > self.max_pasajeros:
print("El bus ya está lleno")
else:
self.pasajeros = nuevos_pasajeros
self.pasaje_recaudado = self.pasaje_recaudado + (pasajeros_abordando * self.tarifa)
def desbordar_pasajeros(self, pasajeros_desbordando):
nuevos_pasajeros = self.pasajeros + pasajeros_desbordando
if nuevos_pasajeros < 0:
print("El bus ya está vacío")
else:
self.pasajeros = nuevos_pasajeros
Leer otros post