Inheriting help documentation from an Abstract base class method

4 次查看(过去 30 天)
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 中查找有关 Construct and Work with Object Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by