MATLAB: Can I specify a package of classes as allowable subclasses

allowable subclassesclass attributesoop

When defining a class and specifying allowable subclasses (AllowedSubclasses = ?ClassName), can I specify a package instead? For example:
classdef SuperClass (AllowedSubclasses = ?PackageName)
...
or
classdef SuperClass (AllowedSubclasses = ?PackageName.*)
...
Thanks!
–Ryan

Best Answer

Hello Sean,
I understand that you want to use “AllowedSubclasses” function but with package names.
However, there isn’t a way of specifying that in MATLAB because the “AllowedSubclasses” parameter accepts only fully qualified class name while referencing a class name.
You can specify multiple classes in the “classdef” of your super class using the “AllowedSubclasses” parameter using a cell array of meta.class objects to define more than one allowed subclass:
classdef (AllowedSubclasses = {?ClassName1,?ClassName2,...?ClassNameN}) MySuperClass ... end
Please refer to the below link for more details on the same:
Hope this helps!
-Shruti