Informatika2-2013/Gyakorlat10
A MathWikiből
(Változatok közti eltérés)
2. sor: | 2. sor: | ||
*Az osztályok egységbe zárnak és a felesleges információt elrejtik. | *Az osztályok egységbe zárnak és a felesleges információt elrejtik. | ||
− | *Az osztályok metódusokat és változókat tartalmaznak. | + | *Az osztályok metódusokat és változókat tartalmaznak. Metódusokat tekintsük osztályokon belüli függvényeknek. |
*Tekintsünk erre úgy, hogy a kód egy részét (mind tárolókat, mind a függvényeket nézve) összefogjuk. | *Tekintsünk erre úgy, hogy a kód egy részét (mind tárolókat, mind a függvényeket nézve) összefogjuk. | ||
− | *Egy objektum egy osztály konkrét megvalósítása. | + | *Egy objektum egy osztály konkrét megvalósítása. |
− | + | Egy metódust az alábbi módon definiálunk pythonban: | |
− | + | ||
− | + | ||
<python> | <python> | ||
− | class | + | class Foo: |
− | + | def setx(self, x): | |
− | + | self.x = x | |
− | + | def bar(self): | |
− | + | print self.x | |
</python> | </python> | ||
− | Itt a | + | * Itt a lényeges dolog a self változó, ami mindig az első argumentuma a metódusnak. Ez mindig a konkrét megvalósított objektumot jelöli. Tehát külön értékadás nélkül self.x az osztályon (objektumon) belüli x változó, aminek az értékét állítjuk be a setx függvénnyel. |
− | + | * Az alábbi módon hozhatunk létre objektumokat és hívhatjuk meg azok metódusait: | |
− | + | <Python> | |
− | + | f = Foo() | |
− | + | f.setx(5) | |
− | + | f.bar() | |
− | + | Foo.setx(f,5) | |
− | + | Foo.bar(f) | |
− | + | </Python> | |
− | + | ||
− | x | + | |
− | x | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | </ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
A lap 2013. április 16., 10:52-kori változata
Osztályok
- Az osztályok egységbe zárnak és a felesleges információt elrejtik.
- Az osztályok metódusokat és változókat tartalmaznak. Metódusokat tekintsük osztályokon belüli függvényeknek.
- Tekintsünk erre úgy, hogy a kód egy részét (mind tárolókat, mind a függvényeket nézve) összefogjuk.
- Egy objektum egy osztály konkrét megvalósítása.
Egy metódust az alábbi módon definiálunk pythonban:
class Foo: def setx(self, x): self.x = x def bar(self): print self.x
- Itt a lényeges dolog a self változó, ami mindig az első argumentuma a metódusnak. Ez mindig a konkrét megvalósított objektumot jelöli. Tehát külön értékadás nélkül self.x az osztályon (objektumon) belüli x változó, aminek az értékét állítjuk be a setx függvénnyel.
- Az alábbi módon hozhatunk létre objektumokat és hívhatjuk meg azok metódusait:
f = Foo() f.setx(5) f.bar() Foo.setx(f,5) Foo.bar(f)