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

De Cacauet Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «La sobrecàrrega és la capacitat de definir el mateix mètode diversos cops en funció del tipus d'arguments que se li passen. * http://en.wikipedia.org/wiki/Function_o…».)
 
(Cap diferència)

Revisió de 16:36, 3 oct 2012

La sobrecàrrega és la capacitat de definir el mateix mètode diversos cops en funció del tipus d'arguments que se li passen.

En C++, per exemple:

class Punt {
   private:
     int posx;
     int posy;
   public:
     void setCoord(int x, int y) {
        posx = x;
        posy = y;
     }
     void setCoord(int a) {
        posx = a;
        posy = a;
     }
}

Com es pot veure, serà diferent si faig la crida a una funció o a l'altra:

Punt p;
p.setCoord(10,20);

En canvi, cridaré a la 2a funció si faig (els 2 valors valdran "10"):

p.setCoord(10);


En Python, de nou, no és rellevant, ja que l'argument no té un tipus predefinit. Per simular el comportament de la sobrecàrrega utilitzem els Python: keyworded arguments.