Skip to content

Commit 54a8716

Browse files
committed
Algumas alteraçoes nos testes e herança
1 parent 1e6dfab commit 54a8716

6 files changed

Lines changed: 39 additions & 10 deletions

File tree

atores.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,12 @@ def colidir(self, outro_ator, intervalo=1):
5555
pass
5656

5757

58-
5958
class Obstaculo(Ator):
60-
pass
59+
_caracter_ativo = 'O'
6160

6261

6362
class Porco(Ator):
64-
pass
63+
_caracter_ativo = '@'
6564

6665

6766
class DuploLancamentoExcecao(Exception):
@@ -119,7 +118,6 @@ def calcular_posicao(self, tempo):
119118
"""
120119
return 1, 1
121120

122-
123121
def lancar(self, angulo, tempo_de_lancamento):
124122
"""
125123
Lógica que lança o pássaro. Deve armazenar o ângulo e o tempo de lançamento para posteriores cálculo.
@@ -137,4 +135,4 @@ class PassaroAmarelo(Passaro):
137135

138136

139137
class PassaroVermelho(Passaro):
140-
pass
138+
_caracter_ativo = 'V'

oo/pessoa.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def __init__(self, *filhos, nome=None, idade=31):
77
self.filhos = list(filhos)
88

99
def cumprimentar(self):
10-
return f'Olá {id(self)}'
10+
return f'Olá meu nome é {self.nome}'
1111

1212
@staticmethod
1313
def metodo_estatico():
@@ -18,18 +18,26 @@ def nome_e_atributos_de_classe(cls):
1818
return f'{cls} - olhos {cls.olhos}'
1919

2020

21+
class Homem(Pessoa):
22+
def cumprimentar(self):
23+
cumprimentar_classe = super().cumprimentar()
24+
return f'{cumprimentar_classe}. Aperto de mão'
25+
26+
27+
class Mutante(Pessoa):
28+
olhos = 3
29+
30+
2131
if __name__ == "__main__":
22-
francisco = Pessoa(nome='Francisco')
23-
jose = Pessoa(francisco, nome='Jose')
32+
francisco = Mutante(nome='Francisco')
33+
jose = Homem(francisco, nome='Jose')
2434
print(jose.filhos)
2535
for filho in jose.filhos:
2636
print(filho.nome)
2737

2838
jose.sobrenome = 'Bustamante'
2939
print(jose.sobrenome)
3040

31-
francisco.olhos = 1
32-
3341
print(francisco.__dict__)
3442
print(jose.__dict__)
3543

@@ -46,3 +54,12 @@ def nome_e_atributos_de_classe(cls):
4654
print(Pessoa.metodo_estatico(), francisco.metodo_estatico())
4755
print(Pessoa.nome_e_atributos_de_classe(),
4856
francisco.nome_e_atributos_de_classe())
57+
58+
pessoa = Pessoa('Anonimo')
59+
print(isinstance(pessoa, Pessoa))
60+
print(isinstance(pessoa, Homem))
61+
print(isinstance(francisco, Pessoa))
62+
print(isinstance(francisco, Homem))
63+
print(francisco.olhos)
64+
print(jose.cumprimentar())
65+
print(francisco.cumprimentar())

oo/test_carro.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from unittest import TestCase
2+
3+
from oo.carro import Motor
4+
5+
6+
class CarroTestCase(TestCase):
7+
def teste_velocidade_inicial(self):
8+
motor = Motor()
9+
self.assertEqual(0, motor.velocidade)
10+
11+
def teste_acelerar(self):
12+
motor = Motor()
13+
motor.acelerar()
14+
self.assertEqual(1, motor.velocidade)

0 commit comments

Comments
 (0)