Can I specify a package of classes as allowable subclasses?

1 view (last 30 days)
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

Accepted Answer

Shruti Sapre
Shruti Sapre on 31 Aug 2015
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
  1 Comment
Ryan
Ryan on 1 Sep 2015
Shruti,
The key in your answer is when you say that the AllowedSubclasses parameter only accepts qualified class names.
I just wish I could specify an entire package of classes, rather than just individual classes.
Thanks!
--Ryan

Sign in to comment.

More Answers (0)

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!