Python | Programación Orientada a Objetos, ejemplos del articulo: https://carmoreno.com.co/python/2020/03/03/programacion-orientada-objetos-python-POO/
class PalancaCambio: | |
# Suponemos que el carro arranca en Neutro (cambio 0 para nosotros) | |
cambio_actual = 0 | |
def __init__(self, numero_cambios = 4, color='Negro', peso='50gr'): | |
self.numero_cambios = numero_cambios | |
self.color = color | |
self.peso = peso | |
def subir_cambio(self): | |
self.cambio_actual = self.cambio_actual + 1 | |
if (self.cambio_actual == self.numero_cambios): | |
print("No puedo subir mas cambios") | |
print(f"Palanca de cambio sube el cambio a {self.cambio_actual}") | |
def bajar_cambio(self): | |
self.cambio_actual = self.cambio_actual - 1 | |
if (self.cambio_actual == 0): | |
print("No puedo bajar mas cambios") | |
print(f"Palanca de cambio baja el cambio a {self.cambio_actual}") | |
def __str__(self): | |
return f"Palanca de Cambio de {self.numero_cambios} velocidades" | |
class Vehiculo: | |
def __init__(self, marca, color, placa, modelo): | |
self.marca = marca | |
self.color = color | |
self.placa = placa | |
self.modelo = modelo | |
self.palanca_cambio = PalancaCambio() | |
def acelerar(self): | |
print(f"Soy {self.marca}, estoy acelerando!!") | |
def frenar(self): | |
print(f"Soy {self.marca}, estoy frenando!!") | |
def voltear(self, direccion): | |
print(f"Soy {self.marca}, estoy volteando a la {direccion}") | |
def __str__(self): | |
"""Este método nos servirá para ver una representación en cadena del objeto""" | |
return self.marca | |
class Carro (Vehiculo): | |
numero_llantas = 4 | |
def tocar_claxon(self): | |
print(f"Soy {self.marca}, y estoy tocando el claxon!!") | |
class Motocicleta (Vehiculo): | |
numero_llantas = 2 | |
def encender_con_patada(self): | |
print(f"Soy {self.marca} y estoy encendiendo con patada!!") | |
class Avion (Vehiculo): | |
numero_llantas = 32 | |
def sacar_llantas(self): | |
print(f"Soy {self.marca} y estoy sacando las llantas!!") | |
def aterrizar(self): | |
print(f"Soy {self.marca} y estoy aterrizando!!") | |
# Creamos el objeto carro, Mazda 6. | |
obj_mazda = Carro('Mazda 6', 'Rojo', 'RED126', '2020') | |
print(obj_mazda) | |
# Establecemos a 8 el numero de cambios para este carro | |
# y el peso de la palanca de cambios en 25gr | |
obj_mazda.palanca_cambio.numero_cambios = 8 | |
obj_mazda.palanca_cambio.peso = '25gr' | |
print(obj_mazda.palanca_cambio) | |
# Subimos un cambio | |
obj_mazda.palanca_cambio.subir_cambio() | |
# ------------------------------------------------------------------------ | |
# Creamos el objeto Motocicleta, Honda CB 500 | |
obj_honda = Motocicleta('Honda CB 500', 'Negro', 'XDR321', '2018') | |
print(obj_honda) | |
#Establecemos a 6 el numero de cambios para esta moto | |
obj_honda.palanca_cambio.numero_cambios = 6 | |
print(obj_honda.palanca_cambio) | |
# Subimos un cambio | |
obj_honda.palanca_cambio.subir_cambio() |
class PalancaCambio: | |
# Suponemos que el carro arranca en Neutro (cambio 0 para nosotros) | |
__cambio_actual = 0 | |
def __init__(self, numero_cambios = 4, color='Negro', peso='50gr'): | |
# Los atributos son ahora privados | |
self.__numero_cambios = numero_cambios | |
self.__color = color | |
self.__peso = peso | |
# Getters y Setters | |
def get_numero_cambios(self): | |
return self.__numero_cambios | |
def set_numero_cambios(self, numero_cambios): | |
self.__numero_cambios = numero_cambios | |
def get_color(self): | |
return self.__color | |
def set_color(self, color): | |
self.__color = color | |
def get_peso(self): | |
return self.__peso | |
def set_peso(self, peso): | |
self.__peso = peso | |
# Fin Getters y Setters | |
def subir_cambio(self): | |
self.__cambio_actual = self.__cambio_actual + 1 | |
if (self.__cambio_actual == self.__numero_cambios): | |
print("No puedo subir mas cambios") | |
print(f"Palanca de cambio sube el cambio a {self.__cambio_actual}") | |
def bajar_cambio(self): | |
self.__cambio_actual = self.__cambio_actual - 1 | |
if (self.__cambio_actual == 0): | |
print("No puedo bajar mas cambios") | |
print(f"Palanca de cambio baja el cambio a {self.__cambio_actual}") | |
def __str__(self): | |
return f"Palanca de Cambio de {self.__numero_cambios} velocidades" | |
class Vehiculo: | |
def __init__(self, marca, color, placa, modelo): | |
self._marca = marca | |
self._color = color | |
self._placa = placa | |
self._modelo = modelo | |
self._palanca_cambio = PalancaCambio() | |
def _acelerar(self): | |
print(f"Soy {self._marca}, estoy acelerando!!") | |
def _frenar(self): | |
print(f"Soy {self._marca}, estoy frenando!!") | |
def _voltear(self, direccion): | |
print(f"Soy {self._marca}, estoy volteando a la {direccion}") | |
def __str__(self): | |
"""Este método nos servirá para ver una representación en cadena del objeto""" | |
return self._marca | |
class Carro (Vehiculo): | |
__numero_llantas = 4 | |
def set_numero_llantas(self, numero_llantas): | |
self.__numero_llantas = numero_llantas | |
def get_numero_llantas(self): | |
return self.__numero_llantas | |
def tocar_claxon(self): | |
print(f"Soy {self._marca}, y estoy tocando el claxon!!") | |
class Motocicleta (Vehiculo): | |
__numero_llantas = 2 | |
def set_numero_llantas(self, numero_llantas): | |
self.__numero_llantas = numero_llantas | |
def get_numero_llantas(self): | |
return self.__numero_llantas | |
def encender_con_patada(self): | |
print(f"Soy {self._marca} y estoy encendiendo con patada!!") | |
class Avion (Vehiculo): | |
__numero_llantas = 32 | |
def set_numero_llantas(self, numero_llantas): | |
self.__numero_llantas = numero_llantas | |
def get_numero_llantas(self): | |
return self.__numero_llantas | |
def sacar_llantas(self): | |
print(f"Soy {self._marca} y estoy sacando las llantas!!") | |
def aterrizar(self): | |
print(f"Soy {self._marca} y estoy aterrizando!!") | |
# Creamos el objeto carro, Mazda 6. | |
obj_mazda = Carro('Mazda 6', 'Rojo', 'RED126', '2020') | |
print(obj_mazda) | |
# Establecemos a 8 el numero de cambios para este carro | |
# y el peso de la palanca de cambios en 25gr | |
obj_mazda._palanca_cambio.set_numero_cambios(8) | |
obj_mazda._palanca_cambio.set_peso('25gr') | |
print(obj_mazda._palanca_cambio) | |
# Subimos un cambio | |
obj_mazda._palanca_cambio.subir_cambio() | |
# ------------------------------------------------------------------------ | |
# Creamos el objeto Motocicleta, Honda CB 500 | |
obj_honda = Motocicleta('Honda CB 500', 'Negro', 'XDR321', '2018') | |
print(obj_honda) | |
#Establecemos a 6 el numero de cambios para esta moto | |
obj_honda._palanca_cambio.set_numero_cambios(6) | |
print(obj_honda._palanca_cambio) | |
# Subimos un cambio | |
obj_honda._palanca_cambio.subir_cambio() |
class Vehiculo: | |
def __init__(self, marca, color, placa, modelo): | |
self._marca = marca | |
self._color = color | |
self._placa = placa | |
self._modelo = modelo | |
def _acelerar(self): | |
print(f"Soy {self._marca}, estoy acelerando!!") | |
def _frenar(self): | |
print(f"Soy {self._marca}, estoy frenando!!") | |
def _voltear(self, direccion): | |
print(f"Soy {self._marca}, estoy volteando a la {direccion}") | |
def __str__(self): | |
"""Este método nos servirá para ver una representación en cadena del objeto""" | |
return self._marca | |
class Carro (Vehiculo): | |
__numero_llantas = 4 | |
def tocar_claxon(self): | |
print(f"Soy {self._marca}, y estoy tocando el claxon!!") | |
class Motocicleta (Vehiculo): | |
__numero_llantas = 2 | |
def encender_con_patada(self): | |
print(f"Soy {self._marca} y estoy encendiendo con patada!!") | |
class Avion (Vehiculo): | |
__numero_llantas = 32 | |
def sacar_llantas(self): | |
print(f"Soy {self._marca} y estoy sacando las llantas!!") | |
def aterrizar(self): | |
print(f"Soy {self._marca} y estoy aterrizando!!") | |
obj_mazda = Carro('Mazda 6', 'Rojo', 'RED126', '2020') | |
obj_renault = Carro('Renault Logan', 'Negro', 'FRE009', '2021') | |
obj_audi = Carro('Audi Q3', 'Blanco', 'DPK312', '2016') | |
obj_honda = Motocicleta('Honda CB 500', 'Negro', 'XDR321', '2018') | |
obj_yamaha = Motocicleta('Yamaha R10', 'Azul', 'GTR576', '2016') | |
obj_suzuky = Motocicleta('Suzuky VStrom 650', 'Gris', 'RET841', '2020') | |
obj_jet = Avion('Jet Privado', 'Blanco', 'G-DER4', '2014') | |
# El Mazda 6, va a voltear a la izquierda | |
obj_mazda._voltear('izquierda') | |
# El Audi Q3, va a voltear a la derecha | |
obj_audi._voltear('derecha') | |
# El Renault Logan va a acelerar | |
obj_renault._acelerar() | |
# --------------------------------------------------------------- | |
# La Honda va a encender con patada. | |
obj_honda.encender_con_patada() | |
# La Honda, va a voltear a la izquierda | |
obj_honda._voltear('izquierda') | |
# La Yamaha, va a voltear a la derecha | |
obj_yamaha._voltear('derecha') | |
# La Suzuky va a frenar | |
obj_suzuky._frenar() | |
# ---------------------------------------------- | |
# El Jet acelera | |
obj_jet._acelerar() | |
# El Jet voltea a la derecha | |
obj_jet._voltear('derecha') | |
# El Jet saca las llantas | |
obj_jet.sacar_llantas() | |
# Y aterriza. | |
obj_jet.aterrizar() |
class Vehiculo: | |
def __init__(self, marca, color, placa, modelo): | |
self.marca = marca | |
self.color = color | |
self.placa = placa | |
self.modelo = modelo | |
def acelerar(self): | |
print(f"Soy {self.marca}, estoy acelerando!!") | |
def frenar(self): | |
print(f"Soy {self.marca}, estoy frenando!!") | |
def voltear(self, direccion): | |
print(f"Soy {self.marca}, estoy volteando a la {direccion}") | |
def __str__(self): | |
"""Este método nos servirá para ver una representación en cadena del objeto""" | |
return self.marca | |
class Carro (Vehiculo): | |
numero_llantas = 4 | |
def tocar_claxon(self): | |
print(f"Soy {self.marca}, y estoy tocando el claxon!!") | |
class Motocicleta (Vehiculo): | |
numero_llantas = 2 | |
def encender_con_patada(self): | |
print(f"Soy {self.marca} y estoy encendiendo con patada!!") | |
class Avion (Vehiculo): | |
numero_llantas = 32 | |
def sacar_llantas(self): | |
print(f"Soy {self.marca} y estoy sacando las llantas!!") | |
def aterrizar(self): | |
print(f"Soy {self.marca} y estoy aterrizando!!") | |
obj_mazda = Carro('Mazda 6', 'Rojo', 'RED126', '2020') | |
obj_renault = Carro('Renault Logan', 'Negro', 'FRE009', '2021') | |
obj_audi = Carro('Audi Q3', 'Blanco', 'DPK312', '2016') | |
obj_honda = Motocicleta('Honda CB 500', 'Negro', 'XDR321', '2018') | |
obj_yamaha = Motocicleta('Yamaha R10', 'Azul', 'GTR576', '2016') | |
obj_suzuky = Motocicleta('Suzuky VStrom 650', 'Gris', 'RET841', '2020') | |
obj_jet = Avion('Jet Privado', 'Blanco', 'G-DER4', '2014') | |
# El Mazda 6, va a voltear a la izquierda | |
obj_mazda.voltear('izquierda') | |
# El Audi Q3, va a voltear a la derecha | |
obj_audi.voltear('derecha') | |
# El Renault Logan va a acelerar | |
obj_renault.acelerar() | |
# --------------------------------------------------------------- | |
# La Honda va a encender con patada. | |
obj_honda.encender_con_patada() | |
# La Honda, va a voltear a la izquierda | |
obj_honda.voltear('izquierda') | |
# La Yamaha, va a voltear a la derecha | |
obj_yamaha.voltear('derecha') | |
# La Suzuky va a frenar | |
obj_suzuky.frenar() | |
# ---------------------------------------------- | |
# El Jet acelera | |
obj_jet.acelerar() | |
# El Jet voltea a la derecha | |
obj_jet.voltear('derecha') | |
# El Jet saca las llantas | |
obj_jet.sacar_llantas() | |
# Y aterriza. | |
obj_jet.aterrizar() |
class Carro: | |
def __init__(self, marca, color, placa, modelo): | |
# Propiedades | |
self.numero_llantas = 4 | |
self.marca = marca | |
self.color = color | |
self.placa = placa | |
self.modelo = modelo | |
def acelerar(self): | |
print(f"Soy {self.marca}, estoy acelerando!!") | |
def frenar(self): | |
print(f"Soy {self.marca}, estoy frenando!!") | |
def voltear(self, direccion): | |
print(f"Soy {self.marca}, estoy volteando a la {direccion}") | |
def __str__(self): | |
"""Este método nos servirá para ver una representación en cadena del objeto""" | |
return self.marca | |
obj_mazda = Carro('Mazda 6', 'Rojo', 'RED126', '2020') | |
obj_renault = Carro('Renault Logan', 'Negro', 'FRE009', '2021') | |
obj_audi = Carro('Audi Q3', 'Blanco', 'DPK312', '2016') | |
# Miramos por consola cada objeto | |
print(obj_mazda) | |
print(obj_renault) | |
print(obj_audi) | |
# El Mazda 6, va a voltear a la izquierda | |
obj_mazda.voltear('izquierda') | |
# El Audi Q3, va a voltear a la derecha | |
obj_audi.voltear('derecha') | |
# El Renault Logan va a acelerar | |
obj_renault.acelerar() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment