mirror of
https://github.com/Hizenberg469/Python-tutorial.git
synced 2026-04-19 23:12:24 +03:00
OOP finished
This commit is contained in:
47
OOP/wiki.txt
47
OOP/wiki.txt
@@ -109,4 +109,49 @@
|
||||
It specify what are the functions and variable the instance of
|
||||
a class(object) has access to.
|
||||
|
||||
-> Dunder methods:
|
||||
-> Dunder methods:
|
||||
|
||||
Dunder methods allow us to modify and implement built-in function
|
||||
of objects. This allow us to implement our own custom logic for
|
||||
built-in function which work for objects. The modification only
|
||||
works for that same object only and if we apply it on different
|
||||
object then it would behave as usual(or as implemented for other
|
||||
object)
|
||||
|
||||
|
||||
for ex:
|
||||
|
||||
class Toy():
|
||||
def __init__(self, color, age):
|
||||
self.color = color
|
||||
self.age = age
|
||||
self.my_dict = {
|
||||
'name' : 'Yoyo',
|
||||
'has_pets' : False
|
||||
}
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.color}'
|
||||
|
||||
def __len__(self):
|
||||
return 5
|
||||
|
||||
def __call__(self):
|
||||
return ('yes??')
|
||||
|
||||
def __getitem__(self, i):
|
||||
return self.my_dict[i]
|
||||
|
||||
|
||||
action_figure = Toy('red',0)
|
||||
print(action_figure.__str__())
|
||||
print(str(action_figure))
|
||||
print(len(action_figure))
|
||||
print(action_figure())
|
||||
print(action_figure['name'])
|
||||
|
||||
-> MRO (Method Resolution order):
|
||||
|
||||
MRO allow us to determine the order in which
|
||||
the Inheritance need to be processed. This
|
||||
order is determined using Depth first search.
|
||||
Reference in New Issue
Block a user