Skip to content

Commit 4843732

Browse files
committed
implementado herança
1 parent 78032e2 commit 4843732

7 files changed

Lines changed: 29 additions & 6 deletions

File tree

atores.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ def colidir(self, outro_ator, intervalo=1):
5757

5858

5959
class Obstaculo(Ator):
60-
pass
60+
_caracter_ativo = 'O'
6161

6262

6363
class Porco(Ator):
64-
pass
64+
_caracter_ativo = 'P'
6565

6666

6767
class DuploLancamentoExcecao(Exception):

fase.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,23 @@ def adicionar_obstaculo(self, *obstaculos):
4343
4444
:param obstaculos:
4545
"""
46-
pass
46+
self._obstaculos.extend(obstaculos)
4747

4848
def adicionar_porco(self, *porcos):
4949
"""
5050
Adiciona porcos em uma fase
5151
5252
:param porcos:
5353
"""
54-
pass
54+
self._porcos.extend(porcos)
5555

5656
def adicionar_passaro(self, *passaros):
5757
"""
5858
Adiciona pássaros em uma fase
5959
6060
:param passaros:
6161
"""
62-
pass
62+
self._passaros.extend(passaros)
6363

6464
def status(self):
6565
"""

oo/pessoa.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ def metodo_estatico():
2020
def nome_e_atributo_de_classe(cls):
2121
return f'{cls} - olhos {cls.olhos} '
2222

23+
class Menina(Pessoa):
24+
pass
25+
2326
if __name__ == '__main__':
24-
sophia = Pessoa(nome='Sophia')
27+
sophia = Menina(nome='Sophia')
2528
angelina = Pessoa(sophia, nome='Angelina')
2629
print(Pessoa.cumprimentar(angelina))
2730
print(id(angelina))
@@ -43,6 +46,11 @@ def nome_e_atributo_de_classe(cls):
4346
print(id(Pessoa.olhos), id(angelina.olhos), id(sophia.olhos))
4447
print(Pessoa.metodo_estatico(), angelina.metodo_estatico())
4548
print(Pessoa.nome_e_atributo_de_classe(), angelina.nome_e_atributo_de_classe())
49+
pessoa = Pessoa("anonimo")
50+
print(isinstance(pessoa, Pessoa))
51+
print(isinstance(pessoa, Menina))
52+
print(isinstance(sophia, Pessoa))
53+
print(isinstance(sophia, Menina))
4654

4755

4856

oo/test_carro.py

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

0 commit comments

Comments
 (0)