Skip to content

Commit 5ff1123

Browse files
committed
Implementar a classe Carro
1 parent ed92953 commit 5ff1123

1 file changed

Lines changed: 65 additions & 10 deletions

File tree

oo/carro.py

Lines changed: 65 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,70 @@
1616
3 - Método virar a esquerda
1717
Obs. Norte (Cima), Sul (Baixo), Leste(Esquerda), Oeste(Direita)
1818
19-
"""
2019
2120
"""
22-
Estudo de composição
23-
"""
21+
22+
23+
#Estudo de composição
24+
2425

2526
class Carro:
26-
pass
27+
28+
def __init__(self, direcao, motor):
29+
self.direcao = direcao
30+
self.motor = motor
31+
32+
33+
def calcular_velocidade(self):
34+
return self.motor.velocidade
35+
36+
37+
def acelerar(self):
38+
self.motor.acelerar()
39+
40+
41+
def frear(self):
42+
self.motor.frear()
43+
44+
45+
def sendito(self):
46+
return self.direcao.sentido
47+
48+
49+
def virar_a_direita(self):
50+
return self.direcao.virar_a_direita()
51+
52+
53+
def virar_a_esquerda(self):
54+
return self.direcao.virar_a_esquerda()
55+
2756

2857
class Motor:
29-
def __init_(self):
58+
59+
def __init__(self):
3060
self.velocidade = 0
3161

62+
3263
def acelerar(self):
3364
self.velocidade += 1
65+
return f'Acelerando. Velocidade: {self.velocidade}'
66+
3467

3568
def frear(self):
36-
self.velocidade -= 1
69+
self.velocidade -= 2
3770

3871
if self.velocidade < 0:
3972
self.velocidade = 0
4073

74+
return f'Freando. Velocidade atual: {self.velocidade}'
75+
76+
4177
class Direcao:
4278
direcoes_possiveis = ('Norte', 'Leste', 'Sul', 'Oeste')
4379

44-
def __init__(self):
45-
self.sentido = 'Norte'
80+
def __init__(self, sentido='Norte'):
81+
self.sentido = sentido
82+
4683

4784
def virar_a_direita(self):
4885
indice = self.direcoes_possiveis.index(self.sentido)
@@ -61,16 +98,34 @@ def virar_a_esquerda(self):
6198
self.sentido = self.direcoes_possiveis[indice - 1]
6299

63100

64-
if __name__ == '__name__':
101+
if __name__ == '__main__':
102+
103+
#Teste classe Direção
104+
"""
105+
m = Motor()
106+
print(m.acelerar())
107+
print(m.acelerar())
108+
print(m.acelerar())
109+
print(m.frear())
110+
print(m.frear())
111+
print(m.frear())
112+
65113
114+
#Teste classe Direção
115+
66116
d = Direcao()
67117
68118
print(d.direcoes_possiveis, d.sentido)
69119
for item in range(5):
70120
d.virar_a_direita()
71-
print(d.direcoes_possiveis, 'Direita', d.sentido)
121+
print(d.direcoes_possiveis, 'Direita ', d.sentido)
72122
73123
for item in range(5):
74124
d.virar_a_esquerda()
75125
print(d.direcoes_possiveis, 'Esquerda', d.sentido)
126+
"""
76127

128+
carro = Carro(Direcao(), Motor())
129+
print(carro.calcular_velocidade)
130+
carro.acelerar()
131+
carro.frear()

0 commit comments

Comments
 (0)