Informatika2-2013/Gyakorlat12
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2013. április 30., 05:45-kor történt szerkesztése után volt.
Ismétlés
Mûveletek átdefiniálása, osztályok részletesebben:
class Vektor(object): def __init__(self, x, y): self.x = x self.y = y def __add__(self, jobb): return Vektor(self.x + jobb.x, self.y + jobb.y) def __sub__(self, jobb): return Vektor(self.x - jobb.x, self.y - jobb.y) def __mul__(self, szam): return Vektor(self.x * szam, self.y * szam) def hossz(self): return sqrt(self.x ** 2 + self.y ** 2) def __repr__(self): return "(" + str(self.x) + ", " + str(self.y) + ")"
- __init__: inicializálás
- __add__: összeadás
- __sub__: kivonás
- __mul__: szorzás
- __div__: osztás
- __pow__: hatványozás
- __len__: hossz lekérése
- __repr__: karakterekkel való reprezentálás
Öröklõdés
class A(object): def __init__(self, x): print "A letrehozva" self.v1 = x def v1ketszeres(self): return self.v1 * 2 class B(A): def __init__(self, x, y): print "B letrehozva" super(B, self).__init__(x) self.v2 = y def v2haromszoros(self): return self.v2 * 3 objA = A(5) print "========" objB = B(1, 4) print "========" print objA.v1ketszeres() print "========" print objB.v1ketszeres() print objB.v2haromszoros()
A super() függvénynek adunk egy osztályt, és egy objektumot, tekinthetjük úgy a mûködését, hogy a neki adott objektum azon részét adja vissza ami az adott osztály (B) õsosztályának (A) felel meg.
Egy szemléletesebb példa.