How to pass a superclass method as a calback?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mario Koddenbrock
le 7 Déc 2017
Commenté : Guillaume
le 7 Déc 2017
Does anybody know how to pass a superclass function as a calback?
For example a button callback:
btn = uicontrol('Style', 'pushbutton', 'String', 'Example',...
'Position', [20 20 50 20],...
'Callback', @(~, ~)methodFromSuperclass@superclass(obj));
But this one gives an error:
"@" Within a method, a superclass method of the same name is called by saying method@superclass. The left operand of "@" must be the method name.
Thanks, Mario
0 commentaires
Réponse acceptée
Mario Koddenbrock
le 7 Déc 2017
1 commentaire
Guillaume
le 7 Déc 2017
Yes, the @ syntax is only used
- in the constructor when you want to call the superclass constructor
- in a class method when you want to invoke a superclass method that has been overriden in the class.
It is never used by a user of the class. The whole point of inheritance is that all methods from all superclasses appear as normal methods of the derived class, so from a user point of view, either
obj.inheritedmethod() %dot notation
or
inheritedmethod(obj) %functional notation
works.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Interactive Control and Callbacks 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!