2010-09-01 35 views
28

Tôi biết rằng có @inheritDoc, nhưng nó chỉ dành cho các phương pháp ghi đè lên những người khác.Làm thế nào để Javadoc của phương thức có thể được sao chép vào Javadoc của phương thức khác?

Tôi có một số lớp học với nhiều phương thức ủy quyền (làm không ghi đè những người khác).

Javadoc của chúng có thể được "kế thừa" (chính xác hơn: được sao chép) không?

/** here I need the copy of wrappedMethod's Javadoc */ 
public void delegateMethod(Object param){ 
    innerSomething.wrappedMethod(param); 
} 
+0

Liên quan chặt chẽ nhưng đặc biệt đối với các phương pháp quá tải: http://stackoverflow.com/questions/2558695/javadoc-and-overloaded-methods/28114175#28114175 –

Trả lời

10

Thẻ @link hoặc @see sẽ phù hợp tại đây. Nếu bạn đang gói phương pháp, nó phải cung cấp hành vi đặc biệt mà làm cho nó không phù hợp cho quá tải hoặc cách khác.

+1

Có, nhưng '@ link' hoặc' @ see' thật đáng buồn là không hữu ích khi phương pháp bọc được bảo vệ: ( –

+3

trừ khi bạn tạo javadocs cho các phương pháp được bảo vệ ... –

+0

'@ seanizer' Ồ, tôi không biết rằng nó có thể, cảm ơn bạn! –

8

Đôi khi nó thực sự là một điều tốt để cắt và dán tài liệu. 'Liên kết' tài liệu theo một cách nào đó, đặc biệt là khi không có mối quan hệ thừa kế, hãy chạy nguy cơ một trong các phương thức sẽ thay đổi hành vi của nó bằng cách nào đó, làm cho tài liệu được liên kết không còn hợp lệ nữa.

Tuy nhiên, trong trường hợp của các đại biểu, tôi đã gặp vấn đề tương tự một số lần. Thông thường, bạn có một phương thức công khai trên một lớp chính ủy nhiệm cho một đại biểu gói-riêng, trong đó có chính xác cùng một hành vi như phương pháp chính. Đây là giải pháp đơn giản - ghi lại lớp chính và đặt @link hoặc @see lên lớp đại biểu. Mọi người đều có thể xem tài liệu của lớp học chính. Bạn có thể sẽ cần phải có tài liệu chi tiết hơn, chẳng hạn như chi tiết thực hiện, trên lớp đại biểu quá.

Các vấn đề liên quan