-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathherencia.py
More file actions
58 lines (44 loc) · 1.64 KB
/
herencia.py
File metadata and controls
58 lines (44 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class Vehiculos():
def __init__(self,marca,modelo):
self.marca=marca
self.modelo=modelo
self.enmarcha=False
self.acelera=False
self.frena=False
def arrancar(self):
self.enmarcha=True
def acelerar(self):
self.acelera=True
def frenar(self):
self.frena=True
def estado(self):
print(f"Marca: {self.marca} \nModelo: {self.modelo} \nEn marcha: {self.enmarcha} \nAcelerando: {self.acelera} \nFrenando: {self.frena}")
class Furgoneta(Vehiculos):
def carga(self,cargar):
self.cargado=cargar
if self.cargado:
return "La furgoneta esta cargada"
else:
return "La furgoneta no esta cargada"
class Moto(Vehiculos):
hcaballito=""
def caballito(self):
self.hcaballito="Voy haciendo el caballito"
def estado(self): #<---- Sobreescribe el metodo estado de Vehiculos()
print(f"Marca: {self.marca} \nModelo: {self.modelo} \nEn marcha: {self.enmarcha} \nAcelerando: {self.acelera} \nFrenando: {self.frena} \nTruco: {self.hcaballito}\n")
class vElectricos(Vehiculos):
def __init__(self,marca,modelo) -> None:
super().__init__(marca,modelo)
self.autonomia=100
def cargarEnergia(self):
self.cargando=True
miMoto = Moto("Honda", "CBR")
miMoto.caballito()
miMoto.estado()
miFurgoneta=Furgoneta("Renault","Kangoo")
miFurgoneta.arrancar()
miFurgoneta.estado()
print(miFurgoneta.carga(True))
class bicicletaElectrica(vElectricos,Vehiculos): #Se le da preferencia a la clase vElectricos, se hereda su constructor
pass
miBici = bicicletaElectrica("Chea","acas")