Update page 'Day 5 homework - Sloetjes'
+15
-1
@@ -20,10 +20,24 @@ class Vault:
|
||||
if key != '_original_attrs' and self.__dict__ != self._original_attrs:
|
||||
print('Attribute deleted!')
|
||||
```
|
||||
##### An example usage of the 'Vault' class:
|
||||
##### An example usage of the Vault class:
|
||||
```
|
||||
v = Vault()
|
||||
print(v.treasure) # prints 'gold'
|
||||
v.x = 10
|
||||
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'
|
||||
```
|
||||
Reference in New Issue
Block a user