Diferència entre revisions de la pàgina «POO Classes»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 5: Línia 5:
  
 
== Constructors i destructors ==
 
== Constructors i destructors ==
...
+
*El '''constructor''' és un mètode que es crida al crear l'objecte. En Python és '''__init__'''.
 +
*El '''destructor''' es crida al destruïr l'objecte. En Python és '''__del__'''.
 +
Exemple:
 +
<syntaxhighlight lang="Python">
 +
class A():
 +
  def __init__(self):
 +
      print "construint l'objecte..."
 +
  def __del__(self):
 +
      print "destruim-lo!"
 +
</syntaxhighlight>
 +
 
 +
Comprovem que realment els mètodes son cridats:
 +
>>> a = A()
 +
construint l'objecte...
 +
>>> del a
 +
destruim-lo!
 +
 
 +
NOTA PER CLASSES HEREDADES: el constructor de la subclasse sobreescriu el de la superclasse. Per controlar si el cridem es pot fer servir la sentència "super", veure en l'apartat d'herència més avall.
  
 
== Herència ==
 
== Herència ==

Revisió del 22:19, 3 set 2012

...intro...

Classe i instància

...

Constructors i destructors

  • El constructor és un mètode que es crida al crear l'objecte. En Python és __init__.
  • El destructor es crida al destruïr l'objecte. En Python és __del__.

Exemple:

class A():
   def __init__(self):
      print "construint l'objecte..."
   def __del__(self):
      print "destruim-lo!"

Comprovem que realment els mètodes son cridats:

>>> a = A()
construint l'objecte...
>>> del a
destruim-lo!

NOTA PER CLASSES HEREDADES: el constructor de la subclasse sobreescriu el de la superclasse. Per controlar si el cridem es pot fer servir la sentència "super", veure en l'apartat d'herència més avall.

Herència

...

...cridant al constructor pare... (super)

Herència múltiple

...


Sobrecàrrega

...

Operadors

...

Visibilitat

...

Classes i mètodes virtuals

...