Ir al contenido

Diferencia entre revisiones de «Sobrecarga (informática)»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Ignacio Icke (discusión · contribs.)
m Revertidos los cambios de 83.43.9.52 usando Schrader
Línea 17: Línea 17:
El compilador decide qué método invocar comparando los argumentos.
El compilador decide qué método invocar comparando los argumentos.
Se generara un error si los métodos sólo varían en el tipo de retorno.
Se generara un error si los métodos sólo varían en el tipo de retorno.

asma= fea imbecil atontada= subnormal !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
<pre>
<pre>
Ejemplo Articulo.java
Ejemplo Articulo.java

Revisión del 14:29 1 abr 2010

En programación orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o más funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o más funciones con el mismo nombre realizan acciones diferentes. El compilador usará una u otra dependiendo de los parámetros usados. A esto se llama también sobrecarga de funciones.

También existe la sobrecarga de operadores que al igual que con la sobrecarga de funciones se le da más de una implementación a un operador.

Sobrecarga es la capacidad de un lenguaje de programación, que permite nombrar con el mismo identificador diferentes variables u operaciones

El mismo método dentro de una clase permite hacer cosas distintas en función de los parámetros

Java no permite al programador implementar sus propios operadores sobrecargados, pero sí utilizar los predefinidos como el + del ejemplo anterior. • C++, por el contrario si permite hacerlo.


Sobrecarga de métodos

Algunos métodos en una clase pueden tener el mismo nombre. Estos métodos deben contar con diferentes argumentos. El compilador decide qué método invocar comparando los argumentos. Se generara un error si los métodos sólo varían en el tipo de retorno.

Ejemplo Articulo.java
---------------------
public class Articulo {
   private float precio;
   public void setPrecio() {
        precio = 3.50;
   }
   public void setPrecio(float nuevoPrecio) {
        precio = nuevoPrecio;
   }
} 
Ej:
Tenemos un método que soporta varios tipos de parámetros, entonces 
cuando hacemos uso de este, lo que hace el compilador es buscar el 
que posee ese tipo de parámetros

Color (int r, int g, int b)
Color (float a, float b, float c)
r,g,b (son valores enteros entre 0 y 255)
a,b,c (son valores flotantes entre 0.0 y 1.0)

Entonces cuando hacemos un llamado a este método (en este caso seria un constructor), el compilador hace referencia al tipo de parámetros. La sobrecarga seria redefinir cualquiera de estos métodos utilizando los mismos parámetros pero para un proceso distinto.