Looking for a way to mask handle functions when calling methods or doc

1 次查看(过去 30 天)
Hi
I'm putting together an object-oriented program that I want others to use. Most of the classes I use derive from handles, which is all good and well except that calling
help MyClass
also displays all the handle functions (eq, delete, addListener etc.). I want to hide these to help people learning to use the program, and to keep the tab-completion menu short and snappy.
I found a work-around solution from 2008 here: http://www.tim.cz/en/nfaq/matlab-simulink/tab-completion.php
Which involves overwriting the default methods() function. Before I commit to making sense of the approach in the link, has a more elegant means of this been implemented since 2008? (We've got R2010a at my university)
Cheers

采纳的回答

Oleg Komarov
Oleg Komarov 2012-9-10
编辑:Oleg Komarov 2012-9-11
EDITED
Hide superclass methods using Hidden from Method Attributes
classdef foo < handle
properties
a = [];
b = [];
end
methods
function obj = foo
end
function methodA(obj)
obj.a = 1;
end
end
methods (Hidden)
function methodB(obj)
obj.b = 2;
end
function addlistener(obj, property, eventname, callback)
addlistener@addlistener(obj, property, eventname, callback)
end
end
end
a = foo;
methods(a)
  6 个评论
Leon
Leon 2012-9-12
Ah thanks to you both - this is anything but elegant but it will have to do.
For anyone else interested I have lots and lots of classes, so I've made a hiddenHandle class that overwrites everything and I just inherit from that.
Again far from idea, but such is life.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by