How to pass a superclass method as a calback?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Mario Koddenbrock
el 7 de Dic. de 2017
Comentada: Guillaume
el 7 de Dic. de 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 comentarios
Respuesta aceptada
Mario Koddenbrock
el 7 de Dic. de 2017
1 comentario
Guillaume
el 7 de Dic. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Assembly en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!