PYTHON Métodos de Clase [100]

Este método 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,

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)
'''

https://www.youtube.com/watch?v=X7QAMQRASp4

🎦[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

Eugenio Chaparro

Entradas recientes

Ejercicio 11.- Identificar un palindromo en C# [40]

Un palíndromo es una palabra o frase que se puede leer igual al derecho y…

1 día hace

For mejorado (foreach en C# [39])

El foreach se utiliza para iterar sobre una colección o un elemento iterable. No tenemos…

1 día hace

Arreglos en C# [38]

Un arreglo puede definirse como un grupo o colección finita, homogénea y ordenada de elementos.…

1 día hace

Ejercicio 10.- Dibujar una escalera con asteriscos con ciclo for en C# [36]

Crear un programa en C# que dibuje una escalera de asteriscos.Pedir al humano el tamaño…

1 día hace

Ciclo for en C# [35]

Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas…

1 día hace

Ejercicio 09.- “while” VS “do while” en C# [34]

En este ejercicio pondremos a prueba los conocimientos de while y de do while de…

1 día hace