-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathex53.py
More file actions
83 lines (62 loc) · 2.38 KB
/
Copy pathex53.py
File metadata and controls
83 lines (62 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# 1 - Desenvolva o sistema de um controle universal para uma casa. O controle deve
# ser a Classe-Mãe, que contém o método liga/desliga e é herdada por outras três
# classes (equipamentos controlados): ar-condicionado, micro-ondas e televisão, que
# controlam, respectivamente, temperatura, tempo e volume em métodos dentro das
# classes. Além disso, os métodos construtores das Classes Filhas recebem a variável
# controlada em seu valor atual, por exemplo 'temperaturaAtual'.
# Obs.: Utilize também propriedades para realizar o acesso aos atributos.
class ControleUniversal:
def __init__(self):
self.__ligado = False
def ligarDesligar(self):
if self.__ligado:
self.__ligado = False
self.__ligado = 'Desligando...'
else:
self.__ligado = True
self.__ligado = 'Ligando...'
@property
def ligado(self):
return self.__ligado
@ligado.setter
def ligado(self, value):
self._ligado = value
class ArCondicionado(ControleUniversal):
def __init__(self, temperatura_atual):
super().__init__()
self.__temperatura_atual = temperatura_atual
@property
def temperatura(self):
return f' A temperatura atual é de: {self.__temperatura_atual}'
class Microondas(ControleUniversal):
def __init__(self, tempo_atual):
super().__init__()
self.__tempo_atual = tempo_atual
@property
def tempo_atual(self):
return f' O tempo atual é de: {self.__tempo_atual()}'
@tempo_atual.setter
def tempo_atual(self, novoTempo):
if self.ligado:
self.__tempo_atual = novoTempo
print(f'Temperatura atualizada para {self.__tempo_atual} ')
else:
print('O microondas está desligado, ligue-o')
class Televisao(ControleUniversal):
def __init__(self, volume_atual):
super().__init__()
self.__volume_atual = volume_atual
@property
def volume_atual(self):
return f'O volume atual é de: {self.__volume_atual}'
@volume_atual.setter
def volume_atual(self, novoVolume):
if self.ligado:
self.__volume_atual = novoVolume
print(f'Volume da televisão atualizado para: {self.__volume_atual} ')
else:
print('A televisão precisa ser ligada')
tv = Televisao(23)
print(tv.volume_atual)
tv.ligarDesligar()
tv.volume_atual = 55