Jak tworząc obiekt klasy Figura,mogę wywołać poźniej te 3 funkcje specjalne? Przy tworzeniu nie podaję parametrów,a później co za other mam wstawić,żeby wywołać np. dodawanie?
@yras8: Te metody zostana wywolane, gdy wywolasz operator + (_add), - (sub_), * (_mul_) na instancji twojej klasy. Other to bedzie obiekt znajdujacy sie po prawej stronie operatora.
@yras8: W tych metodach odwolujesz sie do pol self.x, self.y, ktore nie istnieja. Dodaj do klasy methode __init__ ( https://pastebin.com/heGC3xkL ), dzieki ktorej bedziesz mogl tworzyc instancje klasy z atrybutami x i y.
Tak jak napisal croppz, poczytaj o operator overloading. Stwórz sobie dwie instancje klasy Figura, np. fig1 = Figura(2, 3); fig2 = Figura(3, 5). Gdy teraz dodasz je do siebie - fig1 + fig2, to zostanie wywalana metoda __add__() - bo ona przeladowuje operator +. Wtedy self bedzie sie odnosil do fig1, a other do fig2.
https://pastebin.com/1JHtZpsi
Jak tworząc obiekt klasy Figura,mogę wywołać poźniej te 3 funkcje specjalne? Przy tworzeniu nie podaję parametrów,a później co za other mam wstawić,żeby wywołać np. dodawanie?
Komentarz usunięty przez autora
@yras8: dodać inita, dowiedzieć się co to operator overloading
self.x,self.y, ktore nie istnieja. Dodaj do klasy methode__init__( https://pastebin.com/heGC3xkL ), dzieki ktorej bedziesz mogl tworzyc instancje klasy z atrybutami x i y.operator overloading. Stwórz sobie dwie instancje klasy Figura, np.fig1 = Figura(2, 3);fig2 = Figura(3, 5).Gdy teraz dodasz je do siebie -
fig1 + fig2, to zostanie wywalana metoda__add__()- bo ona przeladowuje operator +. Wtedyselfbedzie sie odnosil dofig1, aotherdofig2.fig1 + fig2bedzie rownowazne wywolaniufig1.__add__(fig2).