Unidad 21. La sobrecarga en las clases (I)





21.1. Objetivos del tema.

La sobrecarga, overload, es la posibilidad de tener varias versiones de un mismo método, vamos a ver como crearlo y como funciona.

21.2. Introducción.

Una de las características de las clases es la posibilidad de poder escribir varias versiones de un mismo método, sin necesidad de cambiar el nombre, de esa forma se puede salvar el problema que puede surgir al tener que realizar la misma acción pero con escenarios distintos, en caso de que no existiera la sobre carga, eso nos llevaría a tener que escribir la misma cantidad de métodos pero con nombres distintos, lo que complicaría la elección del método adecuado en alguna ocasión.

La sobrecarga se produce cuando el método coincide en nombre pero no en el número de argumentos o aunque tenga el mismo número de argumentos el tipo de los datos de los mismos cambia.

21.3. Creación.

La sobrecarga en realidad implica la escritura de tantos métodos como versiones tengamos, eso es así porque si se da la circunstancia de distintos escenarios en cada uno de ellos, aunque cada método en realidad realice la misma tarea, el punto de partida será distinto, por lo que dará lugar a distintas formas de realizar la misma tarea, y distintas líneas de argumentos de entrada al método.

Tampoco es que haya que reescribir todo el método por completo, pensemos que disponemos de los procedimientos, y estos estarán disponibles para los mencionados métodos, y posiblemente solo sea necesario reescribir parte del mismo, sobre todo si se estructura bien el método desde su origen.

Como ejemplo veamos el siguiente método.

 

Clase Ejemplo

  Metodo Suma(Entero A, Entero B)

    Suma = A + B + C

  Final Metodo

 

  Metodo Suma(Real A, Entero B, Largo C)

    Suma = A + B + C

  Final Metodo

Final Clase

 

Podemos observar como en el ejemplo tenemos el método Suma en dos ocasiones, pero disponen de distintas líneas de argumentos, en un caso son dos y en el segundo dispone de tres argumentos en la línea de entrada.

Pero no tiene porque ser distintas las líneas de entrada, veamos el siguiente caso.

 

Clase Ejemplo

  Metodo Suma(Entero A, Entero B, Entero C)

    Suma = A + B + C

  Final Metodo

 

  Metodo Suma(Real A, Entero B, Largo C)

    Suma = A + B + C

  Final Metodo

 

  Metodo Suma(Simple A, Doble B, Corto C)

    Suma = A + B + C

  Final Metodo

Final Clase

 

Si vemos el ejemplo, podemos observar que el método Suma está escrito tres veces, pero a pesar de que tiene tres argumentos en cada uno de ellos, los argumentos son de distinto tipo, por lo que en realidad son tres versiones distintas, bajo el mismo nombre.

 

En el ejemplo siguiente lo que tenemos no es una sobre carga y daría error, porque la firma, identificación, como deseemos llamarlo, de los métodos es idéntica.

 

Clase Ejemplo

 

  // Son iguales en nombre, argumentos y tipo

 

  Metodo Suma(Entero A, Entero B, Entero C)

    Suma = A + B + C

  Final Metodo

 

  Metodo Suma(Entero A, Entero B, Entero C)

    Suma = A + B + C

  Final Metodo

 

  // Son iguales en nombre, argumentos y tipo

 

  Metodo Suma(Real A, Entero B, Largo C)

    Suma = A + B + C

  Final Metodo

 

  Metodo Suma(Real A, Entero B, Largo C)

    Suma = A + B + C

  Final Metodo

Final Clase

21.4. Conclusiones.

La sobre  carga, overload, nos permite que un mismo método podamos tenerlo escrito con distintas versiones y con el mismo nombre, de forma que podemos tener distintos puntos de partida para una misma acción.

La sobrecarga se produce cuando el método coincide en nombre pero no en el número de argumentos o aunque tenga el mismo número de argumentos el tipo de los mismos cambia.

 

 

Octubre-2010
Pág. 21.1

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies