2010-01-29 28 views
39

Soyut sınıfımdaki yöntemleri devralmak için {@inheritDoc}10 sınıfını kullanmak istiyorum. Soyut sınıfın belgelerinde, soyut sınıfa isim olarak başvuruyorum. Bunu alt sınıfın belgelerini süper sınıftan miras aldığında, sınıfın adını alt sınıfın adıyla değiştirecek şekilde nasıl etiketleyebilirim?Javadoc {@inheritDoc} etiketi class

cevap

44

Tanımladığınız şey, javadoc oluşturma aracı tarafından desteklenmiyor.

Ve ben bir iyi bir nedeni Bunun için de olduğunu düşünüyorum:

alt sınıf içinde yöntem sadece soyut bir yöntemin uygulaması ise, o bunu soyut bir sınıf bırakmak doğru olacağını düşünüyorum Orada isim var.

Alt taraftaki yönteminiz yalnızca basit bir uygulama değilse ve kayda değer bir şey varsa (javadoc'ta belirtilmesi yeterlidir), taraftaki yöntemde yeni javadoc yazmanız gerekir. alt sınıfı, inheritDoc çağırmak yerine.

+1

Bunun arkasındaki mantığım, kodumun okuyucusu normalde uygulamanın arkasındaki soyut sınıfa bakmazdı, bu yüzden onu saklamak istedim. Ancak, bunu yapamamış görünüyor. Yine de teşekkürler. – LandonSchropp

+1

Sınıfınızın kullanıcısı yöntemin belgelerine ihtiyaç duyarsa, ancak soyut temel sınıfın varlığından haberdar olmamalılarsa, yöntem tanımı, soyut sınıftaki javadoc ile birlikte bir arabirime taşınmalıdır. Özünde, kullanıcı hakkında olacağı arayüzdür. Yukarıdaki cevabın her iki noktası da geçerli olacaktır. – GreenGiant

15

Bir yolun farkında değilim, ancak bunun için neden {@inheritDoc} olmasını istediğiniz konusunda ayrıntılı bilgi edinebilirsiniz. Yanlış anlayabilirim ama kafa karıştırıcı gibi görünüyor. Somut uygulamanızın ebeveyni nasıl değiştirdiğini belgeleyebilir ve özet sınıfındaki sözleşmeye başvurmak için @see'u kullanabilirsiniz. Not "Automatic Copying of Method Comments", açık bir {@inheritDoc} gereksinimini ortadan kaldırabilir.

+0

Sanırım anlıyorum. Teşekkürler. – LandonSchropp

0

Ayrıca, IIRC, kendi yorumlarınızda {@inheritDoc} etiketi etrafında ek metin yazabilirsiniz.