How to pass a superclass method as a calback?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Mario Koddenbrock
il 7 Dic 2017
Commentato: Guillaume
il 7 Dic 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 Commenti
Risposta accettata
Mario Koddenbrock
il 7 Dic 2017
1 Commento
Guillaume
il 7 Dic 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!