40 lines
947 B
Python
40 lines
947 B
Python
# method vs @classmethod vs @staticmethod
|
|
# method - self, método de instância
|
|
# @classmethod - cls, método de classe
|
|
# @staticmethod - método estático (❌self, ❌cls)
|
|
class Connection:
|
|
def __init__(self, host='localhost'):
|
|
self.host = host
|
|
self.user = None
|
|
self.password = None
|
|
|
|
def set_user(self, user):
|
|
self.user = user
|
|
|
|
def set_password(self, password):
|
|
self.password = password
|
|
|
|
@classmethod
|
|
def create_with_auth(cls, user, password):
|
|
connection = cls()
|
|
connection.user = user
|
|
connection.password = password
|
|
return connection
|
|
|
|
@staticmethod
|
|
def log(msg):
|
|
print('LOG:', msg)
|
|
|
|
|
|
def connection_log(msg):
|
|
print('LOG:', msg)
|
|
|
|
|
|
# c1 = Connection()
|
|
c1 = Connection.create_with_auth('luiz', '1234')
|
|
# c1.set_user('luiz')
|
|
# c1.set_password('123')
|
|
print(Connection.log('Essa é a mensagem de log'))
|
|
print(c1.user)
|
|
print(c1.password)
|