Inheriting help documentation from an Abstract base class method

조회 수: 1 (최근 30일)
Matt J
Matt J 2021년 2월 17일
편집: Daniel Hediger 2023년 10월 13일
Suppose I have a base class with many subclasses, each of which will override an abstract method in the base class,
classdef BaseClass
methods (Abstract)
out=somefunction(in);
end
end
classdef SubClass1<BaseClass
...
end
classdef SubClass2<BaseClass
...
end
...
classdef SubClassN<BaseClass
...
end
The subclasses must all provide non-Abstract implementations of somefunction(). They will all be different implementations, but their input/output syntaxes may all be the same, in which case their help text would all be the same. Is there a way to add a help documentation line in BaseClass.somefunction() that will be 'inherited' by all the sub-classes, so that
>> help SubClass1.somefunction
>> help SubClass2.somefunction
...
>> help SubClassN.somefunction
will all print the same documentation? Naturally, this would be a lot more economical than copying the same help text to all the individual SubClass classdef files.

채택된 답변

Daniel Hediger
Daniel Hediger 2023년 10월 13일
편집: Daniel Hediger 2023년 10월 13일
Yes, you can add help documentation to the somefunction method in BaseClass so that it's inherited by all the subclasses. Here's how you can do it:
classdef BaseClass
methods (Abstract)
%{
This is the help documentation for somefunction.
You can provide a description here that will be
inherited by all subclasses.
%}
out = somefunction(in);
end
end
By adding comments within the abstract method declaration and description, you can provide documentation that will be inherited by all subclasses. When you use the help command on any subclass's somefunction, it will display the help text from the base class.
For example:
>> help SubClass1.somefunction
This will display the help text you provided in BaseClass.somefunction, which is inherited by SubClass1, SubClass2, and so on.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Object Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by