Update page 'Day 5 homework - Sloetjes'

xuanyi.wang
2023-04-07 00:06:40 +02:00
parent ebc71de096
commit 6c1da6da5e
+15 -1
@@ -20,10 +20,24 @@ class Vault:
if key != '_original_attrs' and self.__dict__ != self._original_attrs: if key != '_original_attrs' and self.__dict__ != self._original_attrs:
print('Attribute deleted!') print('Attribute deleted!')
``` ```
##### An example usage of the 'Vault' class: ##### An example usage of the Vault class:
``` ```
v = Vault() v = Vault()
print(v.treasure) # prints 'gold' print(v.treasure) # prints 'gold'
v.x = 10 v.x = 10
print(v.treasure) # prints 'Attribute deleted!\ngold' print(v.treasure) # prints 'Attribute deleted!\ngold'
``` ```
#### To get the other person's class to return "gold", despite any countermeasures they've implemented:
###### It can be achieved by creating a new class that inherits from the Vault class and overrides its _treasure attribute.
```
class GoldVault(Vault):
def __init__(self):
super().__init__()
self._treasure = 'gold'
```
###### Create a GoldVault object that inherits all methods and attributes from the Vault class and returns 'gold' as the value of the _treasure attribute:
```
>>> gv = GoldVault()
>>> gv.treasure
'gold'
```