Vamos a crear la clase Coche que tiene cuatro propiedades (las variables) y dos métodos (las funciones).
class Coche(): # en las clases ponemos la primera letra en mayúscula
largo = 426 # primero creamos las propiedades, que son variables con ciertos valores
ancho = 181 # todos los objetos instanciados con esta clase tendrán las mismas medidas, que luego podremos cambiar
ruedas = 4 # atributo de clase
enmarcha = False # por defecto los coches que podamos crear surgirán como parados
# métodos (son los que definen el comportamiento de los objetos que creemos)
def arrancar(self): # self hace referencia al propio objeto perteneciente a la clase
print("Arrancando...") # un método es una función que pertenece a la clase que se está creando
self.enmarcha=True # es necesario poner self para que la variable enmarcha no sea otra interna con ese nombre
def estado(self): # método que informa si el coche está en marcha o parado
if self.enmarcha:
return "El coche está en marcha"
else:
return "El coche está parado"
self
para hacer referencia al propio objeto que se instancie.this
.Consiste en crear un objeto concreto perteneciente a una clase.
Sinónimos:
miCoche = Coche() # así creamos un objeto que pertenece a la clase Coche
Con la nomenclatura del punto.
# consultemos el largo
miCoche.largo
426
print(f"Mi auto tiene {miCoche.ruedas} ruedas.")
Mi auto tiene 4 ruedas.
miCoche.estado()
'El coche está parado'
miCoche.arrancar() # objeto.método() Esta nomenclatura del punto pasa el objeto miCoche como argumento de arrancar que es self
miCoche.enmarcha # objeto.propiedad
Arrancando...
True
miCoche.estado()
'El coche está en marcha'