Hey,
uczę się pythona i pisze sobie przykładowe klasy ale paru rzeczy nie rozumiem np taki kod:
class Punkt:
_x = 0
def _init_(self,x=0):
print "Zostal wywolany konstruktor z klasy Punkt "
self._x = x
def getX():
return self._x
def setX(x = 0):
print "ja jestem z punkt"
self._x = x
def _del_():
pass
class Punkt2D(Punkt):
_y = 0
def _init_(self,x=0,y=0):
print "Zostal wywolany konstruktor z klasy Punkt2D "
Punkt.self._x = x
self._y = y
def getY():
return self._y
def setY(y = 0):
print "ja jestem z punkt2D"
self._y = y
def setXY(x = 0, y = 0):
self.setX(x)
self.setY(y)
def setX(x = 0):
print "ja jestem z punkt2D"
Punkt.self._x = x
def _del_():
pass
if __name__ == '__main__':
punt=Punkt()
punt2d=Punkt2D()
print punt2d.getX()
według mnie powinna wywołać się metoda klasy Punkt po której dziedziczy moja klasa punkt2D
tak by było w c++ dla przykłady
a tutaj wyskakuje mi błąd
print punt2d.getY()
TypeError: getY() takes no arguments (1 given)
Moje pytanie bo nie ogarniam gdzie i jaki argument?!?
PS taki sam błąd jak próbuje wywołać print punt2d.getY()
Dodam jeszcze, że jak w wywołaniu "konstruktora" (tutaj chyba tak to się nie nazywa ale wiemy o co chodzi)
punt=Punkt(10)
podam argument to wywala mi taki błąd
punt=Punkt(10)
TypeError: this constructor takes no arguments
To moje pytanie jak zrobić "konstruktor" który przyjmuje argumenty ?!?
A już pamiętam, nie konstruktor tylko" Tworzenie instancji klasy" :D