-
Notifications
You must be signed in to change notification settings - Fork 0
/
POO - 12 - Comparacao entre Objetos, extendendo objetos.py
147 lines (124 loc) · 3.57 KB
/
POO - 12 - Comparacao entre Objetos, extendendo objetos.py
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
class Conta(object):
def __init__(self, idConta, saldo):
self.idConta = idConta
self.saldo = saldo
def deposito(self, valor):
self.saldo += valor
def saque(self, valor):
if self.saldo >= valor:
self.saldo -= valor
itau = Conta(123, 4000) # Inicializa instancia de objeto referenciando a classe
bradesco = Conta(123, 5000)
print(itau == bradesco) # Compara um objeto a outro
print(id(itau)) # Mostra o endereço de memoria da variavel
'''Metodos de comparação de objetos
__le__ x <= y
__eq__ x == y
__ge__ x >= y
__lt__ x < y
__gt__ x > y
__ne__ x != y
'''
class Conta2(object):
def __init__(self, idConta, saldo):
self.idConta = idConta
self.saldo = saldo
def deposito(self, valor):
self.saldo += valor
def saque(self, valor):
if self.saldo >= valor:
self.saldo -= valor
def __le__(self, other):
if self.idConta <= other.idConta:
return True
return False
def __eq__(self, other):
if self.idConta == other.idConta:
return True
return False
def __ge__(self, other):
if self.idConta >= other.idConta:
return True
return False
def __lt__(self, other):
if self.idConta < other.idConta:
return True
return False
def __gt__(self, other):
if self.idConta > other.idConta:
return True
return False
def __ne__(self, other):
if self.idConta != other.idConta:
return True
return False
# Cria instancia de objeto para fazer a comparação
itau2 = Conta2(123, 5000)
bradesco2 = Conta2(456, 4000)
viacredi = Conta2(789, 1000)
caixa = Conta2(123, 500)
print(itau2 == caixa)
print(caixa == itau2)
print(bradesco2 > viacredi)
class Conta(object):
def __init__(self, idConta, saldo):
self.idConta = idConta
self.saldo = saldo
def deposito(self, valor):
self.saldo += valor
def saque(self, valor):
if self.saldo >= valor:
self.saldo -= valor
itau = Conta(123, 4000) # Inicializa instancia de objeto referenciando a classe
bradesco = Conta(123, 5000)
print(itau == bradesco) # Compara um objeto a outro
print(id(itau)) # Mostra o endereço de memoria da variavel
'''Metodos de comparação de objetos
__le__ x <= y
__eq__ x == y
__ge__ x >= y
__lt__ x < y
__gt__ x > y
__ne__ x != y
'''
class Conta2(object):
def __init__(self, idConta, saldo):
self.idConta = idConta
self.saldo = saldo
def deposito(self, valor):
self.saldo += valor
def saque(self, valor):
if self.saldo >= valor:
self.saldo -= valor
def __le__(self, other):
if self.idConta <= other.idConta:
return True
return False
def __eq__(self, other):
if self.idConta == other.idConta:
return True
return False
def __ge__(self, other):
if self.idConta >= other.idConta:
return True
return False
def __lt__(self, other):
if self.idConta < other.idConta:
return True
return False
def __gt__(self, other):
if self.idConta > other.idConta:
return True
return False
def __ne__(self, other):
if self.idConta != other.idConta:
return True
return False
# Cria instancia de objeto para fazer a comparação
itau2 = Conta2(123, 5000)
bradesco2 = Conta2(500, 4250)
viacredi = Conta2(699, 1200)
caixa = Conta2(124, 520)
print(itau2 == caixa)
print(caixa == itau2)
print(bradesco2 > viacredi)