Untitled
unknown
python
2 years ago
1.9 kB
33
Indexable
class Computador:
sistema_operacional = 'Windows 10'
# Métodos comuns
def __init__(self, marca, memoria, placa_de_video, sistema_operacional):
self.marca = marca
self.memoria = memoria
self.placa_de_video = placa_de_video
self.sistema_operacional = sistema_operacional
def exibir_dados_do_computador(self):
print(f"Marca: {self.marca}\nMemória: {self.memoria}\nPlaca de video: {self.placa_de_video}\n"
f"Sistema Operacional: {self.sistema_operacional}")
# Métodos de Classe (Class Methods)
# Configuração para cliente escritório
@classmethod
def computador_escritorio(cls, memoria):
return cls('Dell', memoria, 'Placa de Vídeo - Baixo Custo', 'Windows 10')
# Configuração para cliente de trabalho pesado (jogos, vídeo...)
@classmethod
def computador_configuracao_pesada(cls, memoria):
return cls('Dell', memoria, 'Placa de Vídeo - Custo Medio', 'Windows 10')
# Também é possível criar características flexíveis, sem a necessidade de criar várias instâncias
@classmethod
def computador_personalizado(cls, marca='Dell', memoria='8GB', placa_de_video='Placa de Vídeo - Baixo Custo',
sistema_operacional='Windows 10'):
return cls(marca, memoria, placa_de_video, sistema_operacional)
# Métodos estáticos (Static Method). Não usam a instância da classe.
@staticmethod
def roda_programas_pesados(memoria):
if memoria >= 8:
return True
else:
return False
computador_personalizado = Computador.computador_personalizado(marca='HP', memoria='16GB',
placa_de_video='Placa de Vídeo - Custo Medio',
sistema_operacional='MacOS')
computador_personalizado.exibir_dados_do_computador()Editor is loading...
Leave a Comment