2010-01-29 13 views
39

Me gustaría utilizar la clase {@inheritDoc} para heredar métodos de mi clase abstracta. En la documentación para la clase abstracta, me refiero a la clase abstracta por nombre. ¿Cómo puedo etiquetar esto para que cuando la subclase herede la documentación de la superclase, reemplace el nombre de la clase abstracta con el nombre de la subclase?Javadoc {@inheritDoc} clase de etiqueta

Respuesta

44

Lo que está describiendo no es compatible con la herramienta de generación de javadoc.

Y creo que hay una buena razón para esto también:

Si su método en la subclase no es más que una implementación de un método abstracto, entonces creo que sería correcto para salir de la clase abstracta 'nombre allí.

Por otro lado, si su método en la subclase no es simplemente una implementación simple, y hace algo más que es digno de mención (suficiente para ser mencionado en el javadoc), entonces debe escribir un nuevo javadoc sobre el método en la subclase, en lugar de invocar inheritDoc.

+1

Mi razonamiento detrás de esto era que el lector de mi código normalmente no miraría la clase abstracta detrás de la implementación, así que quería ocultarlo. Sin embargo, parece que no puedo hacer esto. Gracias de cualquier manera. – LandonSchropp

+1

Si el usuario de su clase necesita la documentación para el método, pero no debe saber sobre la existencia de la clase base abstracta, la definición del método debe moverse a una interfaz, junto con el javadoc que está en la clase abstracta. En esencia, la interfaz es lo que el usuario considerará. Ambos puntos en la respuesta anterior se seguirían aplicando. – GreenGiant

0

También puede, IIRC, escribir texto adicional alrededor de la etiqueta {@inheritDoc} en sus propios comentarios.

Cuestiones relacionadas