Equivalente en Java de los punteros sobre funciones de C/C++

11294 vistas

En Java no existen los punteros sobre métodos, tendremos que usar un objeto donde en C/C++ usamos una función.

1era etapa: definición de una interfaz
Usaremos objetos que implementen una interfaz común. Ésta tendrá que definir el prototipo de la función a ejecutar.



java
  1. public interface IFuncion public void execute(int);



2da etapa: definición de las clases que implementan la interfaz
Estas clases definen diferentes implementaciones de la función



java
  1. public class Funcion implements IFuncion {
  2.     public void execute(int arg) {
  3.         /** hacer lo que harÃamos en la función en C/C++ */
  4.     }
  5. }



3era etapa: paso de parámetros y ejecución
Ahora sólo nos queda definir ua función que tome como parámetro una instancia de tipo de la interfaz y hacer una llamada al método definido en ésta



java
  1. public void funcion(IFuncion unaFuncion) {
  2.         unaFuncion.execute(unint);
  3. }