100

Métodos de Clase en Python [100]

Los métodos de clase en Python comparte una característica con el método estático, dicha característica es que este método puede ser llamado sin crear una instancia de la clase. La diferencia recae en la capacidad de acceder otros métodos y atributos de la clase. Sin embargo este tipo de métodos no tienen accesos a atributos de instancia.

Para indicarle a Python que el método deberá ser un método de clase se debe de anteponer @classmethod,

Métodos de Clase en Python

Codigo: https://github.com/programadornovato/curso-python/commit/44b69ae2c153c6ce5655c0c1a2d987a870cc5d2d

class Auto:
    #Atributos publicos
    encendido=False
    velocidad=0
    _alto=1.5
    _ancho=2.3
    _velocidadMaxima=100

    #Atributos privados
    #Metodos publicos
    def __init__(self,llave,color,modelo,marca):
        self.__llave=llave
        self.color=color
        self.modelo=modelo
        self.marca=marca

    def encender(self,llave):
        if self.__llave==llave:
            self.encendido=True
            print("El auto esta encendido")
        else:
            print("Humano ratero esa no es la llave")
    def acelera(self):
        if self.encendido==True:
            if self.velocidad<self._velocidadMaxima:
                self.velocidad=self.velocidad+10
    def frena(self):
        if self.velocidad>0:
            self.velocidad=self.velocidad-10
            self.__enciendeLuzFreno()
    def apaga(self):
        if self.encendido==True:
            self.encendido=False
            self.velocidad=0
            self.corneta(True)
    #Metodos privados
    def __enciendeLuzFreno(self):
        print("Luz del freno encendida")
    @staticmethod
    def corneta(precionar=False):
        if precionar==True:
            print("La corneta suena")
        else:
            print("La corneta no suena")
    @classmethod
    def canasta(cls,peso):
        pesoMax=cls._ancho*10
        if peso<pesoMax:
            return True
        else:
            return False
#print("La canasta del auto soporta 30Kg",Auto.canasta(30))
vocho1=Auto("1","rojo","2010","vocho")
print("La canasta del vocho1 soporta 30Kg",vocho1.canasta(30))
'''
#Auto.corneta(True)
vocho1=Auto("1","rojo","2010","vocho")
vocho1.encender("1")
vocho1.corneta(True)
vocho1.apaga()
'''
'''
Auto._alto=2
print(Auto._alto)
print(Auto._ancho)
print(Auto._velocidadMaxima)
vocho1=Auto("1","rojo","2010","vocho")
print(vocho1.color)
print(vocho1._alto)
'''

🎦[CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🎦 Canal de youtube: https://www.youtube.com/c/programadornovato

<<Anterior tutorial Siguiente tutorial >>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
Salir de la versión móvil