6.+在之前已经定义好的Account类的基础上,重写Object类的toString()方法输出对象的属性信息,重写Object类的hashCode()计算每个参数的哈希码、重写Object类的eq
时间: 2024-06-13 09:05:48 浏览: 78
以下是重写Object类的toString()方法、hashCode()方法和equals()方法的示例代码:
```python
class Account:
def __init__(self, id, name, balance):
self.id = id
self.name = name
self.balance = balance
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
self.balance -= amount
def __str__(self):
return f"Account({self.id}, {self.name}, {self.balance})"
def __hash__(self):
return hash((self.id, self.name, self.balance))
def __eq__(self, other):
if isinstance(other, Account):
return self.id == other.id and self.name == other.name and self.balance == other.balance
return False
```
在上面的代码中,我们重写了Account类的toString()方法,使其返回一个包含对象属性信息的字符串。我们还重写了hashCode()方法,使用Python内置的hash()函数计算每个参数的哈希码,并将它们组合成一个元组进行哈希。最后,我们重写了equals()方法,比较两个对象的id、name和balance属性是否相等。
阅读全文