Inheriting help documentation from an Abstract base class method

1 vue (au cours des 30 derniers jours)
Matt J
Matt J le 17 Fév 2021
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.

Réponse acceptée

Daniel Hediger
Daniel Hediger le 13 Oct 2023
Modifié(e) : Daniel Hediger le 13 Oct 2023
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.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Object Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by