File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # coding: utf-8
2+
13class Mamifero (object ):
24 """vertebrados dotados de glândulas mamárias"""
35
Original file line number Diff line number Diff line change 1+ # coding: utf-8
2+
3+ import abc
4+
5+ class CaoBase (object ):
6+ __metaclass__ = abc .ABCMeta
7+
8+ qt_patas = 4
9+ carnivoro = True
10+ nervoso = False
11+
12+ def __init__ (self , nome ):
13+ self .nome = nome
14+
15+ @abc .abstractmethod
16+ def latir (self , vezes = 1 ):
17+ '''exibir latido na saída padrão'''
18+
19+ def detectar_intruso (self ):
20+ self .latir ()
21+ # mais alguma ação...
22+
23+ def __str__ (self ):
24+ return self .nome
25+
26+ def __repr__ (self ):
27+ return 'Cao(%r)' % self .nome
28+
29+ def __eq__ (self , outro ):
30+ return (isinstance (outro , Cao ) and
31+ self .__dict__ == outro .__dict__ )
32+
33+ class Cao (CaoBase ):
34+
35+ def latir (self , vezes = 1 ):
36+ # quando nervoso, late o dobro
37+ vezes = vezes + (self .nervoso * vezes )
38+ print (self .nome + ':' + ' Au!' * vezes )
39+
40+
Original file line number Diff line number Diff line change 1+ """
2+ Somente Python 3!
3+ """
4+
5+ import abc
6+
7+ class CaoBase (metaclass = abc .ABCMeta ):
8+ __metaclass__ = abc .ABCMeta
9+
10+ qt_patas = 4
11+ carnivoro = True
12+ nervoso = False
13+
14+ def __init__ (self , nome ):
15+ self .nome = nome
16+
17+ @abc .abstractmethod
18+ def latir (self , vezes = 1 ):
19+ '''exibir latido na saída padrão'''
20+
21+ def detectar_intruso (self ):
22+ self .latir ()
23+ # mais alguma ação...
24+
25+ def __str__ (self ):
26+ return self .nome
27+
28+ def __repr__ (self ):
29+ return 'Cao(%r)' % self .nome
30+
31+ def __eq__ (self , outro ):
32+ return (isinstance (outro , Cao ) and
33+ self .__dict__ == outro .__dict__ )
34+
35+ class Cao (CaoBase ):
36+
37+ def latir (self , vezes = 1 ):
38+ # quando nervoso, late o dobro
39+ vezes = vezes + (self .nervoso * vezes )
40+ print (self .nome + ':' + ' Au!' * vezes )
41+
42+
Original file line number Diff line number Diff line change 1+ # coding: utf-8
2+
3+ class CaoBase (object ):
4+ qt_patas = 4
5+ carnivoro = True
6+ nervoso = False
7+
8+ def __init__ (self , nome ):
9+ self .nome = nome
10+
11+ def latir (self , vezes = 1 ):
12+ raise NotImplementedError ('responsabilidade da sub-classe' )
13+
14+ def detectar_intruso (self ):
15+ self .latir ()
16+ # mais alguma ação...
17+
18+ def __str__ (self ):
19+ return self .nome
20+
21+ def __repr__ (self ):
22+ return 'Cao(%r)' % self .nome
23+
24+ def __eq__ (self , outro ):
25+ return (isinstance (outro , Cao ) and
26+ self .__dict__ == outro .__dict__ )
27+
28+ class Cao (CaoBase ):
29+
30+ def latir (self , vezes = 1 ):
31+ # quando nervoso, late o dobro
32+ vezes = vezes + (self .nervoso * vezes )
33+ print (self .nome + ':' + ' Au!' * vezes )
34+
35+
You can’t perform that action at this time.
0 commit comments