PROBLEMA POO
Publicado por Wiliam (11 intervenciones) el 16/07/2019 18:22:06
Anteriormente pedi una "descripicion" de la POO, y algunas de sus definiciones y siguiendo con un curso me sale un error que no entiendo muy bien, ya que al ejecutar las ultimas lineas me dice que requiere del argumento opcional "arrancamos" y aun comentando la linea o cambiandola me siguen apareciendo errores.
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
class Coche(): #Creo una clase
def __init__ (self):
self.__largo_chasis=250 #Creo una propiedad comun para todos los objetos (largo) #? PROPIEDAD
self.__ancho_chasis=120 #Creo una propiedad comun para todos los objetos (ancho) #? PROPIEDAD
self.__ruedas=4 #Creo una propiedad comun para todos los objetos (nº ruedas) #? PROPIEDAD
self.__enmarcha=False #En principio todos los coches de esta clase van a estar parados #? PROPIEDAD
def arrancar(self,arrancamos): #EJ:Coche.arrancar, self hace referencia al objeto de la clase #* COMPORTAMIENTO
self.__enmarcha=arrancamos
if (self.__enmarcha):#Cambia enmarcha=False a True con la variable self
chequeo=self.chequeo_interno()
if(self.__enmarcha and chequeo):
return "El coche esta en marcha"
elif(self.__enmarcha and chequeo==False):
return "Algo ha ido mal en el chequeo, por favor comprueba tu coche"
else:
return "El coche esta parado"
def estado(self): #Creo un objeto del estado #* COMPORTAMIENTO
print("El coche tiene", self.__ruedas, "ruedas. Un ancho de ", self.__ancho_chasis," y un largo de ", self.__largo_chasis)
def chequeo_interno(self):
print("Realizando chequeo interno...")
self.gasolina="Ok"
self.aceite="Ok"
self.puertas="Cerradas"
if(self.gasolina=="Ok" and self.aceite=="Ok" and self.puertas=="Cerradas"):
return True
else:
return False
miCoche=Coche() #Creo el primer objeto de la clase (Coche)
print(miCoche.arrancar(True))
miCoche.estado() #self.enmarcha=True == miCoche.enmarcha=True, self hace referencia al objeto
print(miCoche.estado()) #Si comentamos la linea anterior el programa nos dira que el coche esta parado
print("--------------------------------------Ahora el 2º coche------------------------------------------------")
miCoche_2=Coche
print(miCoche_2.arrancar(False))
miCoche_2.estado()
print(miCoche_2.chequeo_interno())
Valora esta pregunta


0