同一包中的Matlab调用函数
Posted
技术标签:
【中文标题】同一包中的Matlab调用函数【英文标题】:Matlab call function in same package 【发布时间】:2015-01-13 13:31:04 【问题描述】:有一种简单的方法可以调用来访问同一个包中的类,而无需指定包名。
例子
我有一个包名为 foo,类为 bar 和 bar2,假设我希望 bar2 是 bar 的子类,然后我会写
classdef bar2
有没有办法告诉 matlab 它应该在同一个包中。
我想要这样做的原因是,如果我将包名称更改为 fo,我将不得不在包中的所有文件中更改它。
【问题讨论】:
没有好的解决办法。使用从未用于其他任何内容的包名称,然后您可以使用 search&replace 轻松重命名包。 好的,谢谢。在使用包的文件中也会有一些搜索和替换。所以最终额外的工作不会那么多。 【参考方案1】:不幸的是,我认为没有办法做到这一点。是的,这很烦人。
【讨论】:
【参考方案2】:Matlab documentation 明确表示在子类化时需要包含包名(即使您在同一个包中)。
引用包中包含的超类
如果包中包含超类,请包含包名。例如:
classdef stock < financial.asset methods function s = stock(asset_args,...) if nargin == 0 ... end % Call asset constructor s@financial.asset(asset_args); ... end end end
【讨论】:
以上是关于同一包中的Matlab调用函数的主要内容,如果未能解决你的问题,请参考以下文章
java中四种访问权限在同类体中,同一包中,不同包中的权限范围