Pointers I

Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene el dato. Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable.

Su sintaxis de declaración sería:
tipo *NombrePuntero;

Donde tipo es el tipo de dato al que referenciará este puntero, es decir, que si se necesita guardar la dirección de memoria de un dato int, se necesita un puntero de tipo int.

int a=0; //Declaración de variable entera de tipo entero
int *puntero; //Declaración de variable puntero de tipo entero
puntero = &a; //Asignación de la dirección memoria de a

El operador *, nos permite acceder al valor de la dirección que almacena el puntero, en este caso nos permite acceder al valor que contiene a. De esta forma “a” y “*puntero” muestran el mismo dato, pero esto no quiere decir que sea lo mismo, uno es un entero el otro un puntero.

Operadores

Operador addresof (&): Este devuelve la dirección en memoria de una variable que le pasamos como parámetro. Funciona a priori como una función, cuyo retorno es una dirección de memoria.

Operador de Indirección (*): Ademas de que nos permite declarar un tipo de dato puntero, también nos permite ver el VALOR que está en la dirección a la que apunta el puntero.

No confundir con type * name, lo que sería una declaración de puntero, ni 2*2, lo que sería una operación aritmética, en este caso la multiplicación.

En C++ el símbolo de * está pluriempleado.  :mrgreen:

Javadocs

Javadoc es una utilidad de Oracle para la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.


Javadoc también proporciona una API para crear doclets y taglets, que le permite analizar la estructura de una aplicación Java. Así es como JDiff puede generar informes de lo que ha cambiado entre dos versiones de una API.


Para generar APIs con Javadoc han de usarse etiquetas (tags) de HTML o ciertas palabras reservadas precedidas por el carácter “@”. Estas etiquetas se escriben al principio de cada clase, miembro o método, dependiendo de qué objeto se desee describir, mediante un comentario iniciado con “/**” y acabado con “*/”.


Netbeans ayuda en la generación de Javadocs de modo automático.


Las etiquetas en Javadocs son:

Tag Descripción
@author Nombre del desarrollador.
@deprecated Indica que el método o clase es antigua y que no se recomienda su uso porque posiblemente desaparecerá en versiones posteriores.
@param Definición de un parámetro de un método, es requerido para todos los parámetros del método.
@return Informa de lo que devuelve el método, no se puede usar en constructores o métodos “void”.
@see Asocia con otro método o clase.
@throws Excepción lanzada por el método
@version Versión del método o clase.



Un ejemplo de un Javadoc de un método:

/**
  * Inserta un título en la clase descripción.
  * Al ser el título obligatorio, si es nulo o vacío se lanzará
  * una excepción.
  *
  * @param titulo El nuevo título de la descripción.
  * @throws IllegalArgumentException Si titulo es null, está vacío o contiene sólo espacios.
  */
 public void setTitulo (String titulo) throws IllegalArgumentException
 {
   if (titulo == null || titulo.trim().equals(""))
   {
       throw new IllegalArgumentException("El título no puede ser nulo o vacío");
   }
   else
   {
       this.titulo = titulo;
   }
 }