+folder
是MATLAB包文件夹。如果您将
Tata.m
放在类似于
+folder/Tata.m
的位置,MATLAB将把它识别为
folder.Tata
类。如果您将其放在像
someOtherFolder/Tata.m
或
someOtherFolder/@Tata/Tata.m
这样的文件夹中,MATLAB将把它识别为
Tata
。
在类目录中(如
@Tata
)放置一个
classdef
文件可能很有用,以允许您将一些(或所有)方法的定义分别放在不同的文件中。
doc提供了更多详细信息。
编辑:为了澄清
@
目录:历史上,具有
methodOne
和
methodTwo
方法的
Tata
类需要以下文件:
somePlaceOnThePath/@Tata/Tata.m
somePlaceOnThePath/@Tata/methodOne.m
somePlaceOnThePath/@Tata/methodTwo.m
在“新”的对象系统中,您仍然可以在不进行修改的情况下使用上述布局。在另一个极端,您可以将整个
Tata
的实现放在单个
classdef
块中:
在“新”的对象系统中,即使没有进行修改也可以使用上述布局。在另一方面,您可以将整个 Tata
的实现放置在单个classdef
块内:
somePlaceOnThePath/Tata.m
如果你有一些较大的方法,或者想将类Tata
的实现分成几个文件以使并行开发更简单,你可以采用如下所示的classdef:
classdef Tata
methods
result = methodTwo(obj, arg)
function methodOne(obj)
disp('hello from methodOne');
end
end
end
还有一个问题
function result = methodTwo(obj, arg)
end
严格来说,在 classdef
中提前声明 methodTwo
是可选的,因为它使用默认的访问特定符。如果你想要将 methodTwo
设为私有方法,你可以将它放在 methods (Access = private)
块中。