Sobreescriptura de mètodes

La sobreescriptura de mètodes, en la programació orientada a objectes, és una característica del llenguatge de programació que permet a una subclasse proporcionar una implementació específica d’un mètode que ja ha estat proporcionat per una de les seves superclasses o classes pare. La implementació en la subclasse sobreescriu (reemplaça) la implementació en la superclasse proporcionant un mètode que té el mateix nom, els mateixos paràmetres, i el mateix tipus de retorn que el mètode en la classe pare.[1] La versió d’un mètode que es va executar serà determinat per l'objecte que es va utilitzar per invocar-lo. Si s’utilitza un objecte d’una classe pare per invocar el mètode, llavors s’executarà la versió de la classe pare, però si s’utilitza un objecte de la subclasse per invocar el mètode, llavors s’executarà la versió de la classe filla.[2]

La sobreescriptura de mètodes és una funcionalitat important que facilita el polimorfisme al disseny de programes orientats a objectes.

En molts casos, les classes abstractes són dissenyades aprofitant aquest mecanisme. Les classes abstractes tenen mètodes que no fan cap operació útil i estan pensades per a ser sobreescrites per implementacions específiques a les subclasses. D'aquesta forma, la superclasse abstracta defineix una interfície comú què totes les subclasses hereten.

ReferènciesModifica

  1. Flanagan 2002, p. 107
  2. Lewis & Loftus 2006, p.454

Vegeu tambéModifica

Enllaços externsModifica