文件夹是一个MATLAB包文件夹。如果你把Tata.m放在像文件夹/ Tata.m一样的位置,它将被称为MATLAB的类文件夹.Tata。如果你把它放在一个文件夹像someOtherFolder / Tata.m,或someOtherFolder/@Tata/Tata.m,它会知道MATLAB作为塔塔。
在类目录(如@Tata)中放置一个classdef文件可以是有用的,它允许您将某些(或所有)方法的定义放在单独的文件中。
doc有更多的细节。
编辑:试图澄清@目录:历史上,方法methodOne和methodTwo的类Tata将需要以下文件:
somePlaceOnThePath/@Tata/Tata.m
somePlaceOnThePath/@Tata/methodOne.m
somePlaceOnThePath/@Tata/methodTwo.m
在“新”对象系统中,您仍然可以使用上面的布局而不进行修改。在另一个极端,你可以将Tata的整个实现放在一个单独的classdef块中:
somePlaceOnThePath/Tata.m
如果你有一些大的方法,或者想把Tata类的实现拆分成几个文件,使并行开发更简单,你可以使用一个classdef,如下所示:
%# somePlaceOnThePath/@Tata/Tata.m:
classdef Tata
methods
result = methodTwo(obj, arg)
function methodOne(obj)
disp('hello from methodOne');
end
end
end
并且
%# somePlaceOnThePath/@Tata/methodTwo.m:
function result = methodTwo(obj, arg)
% do stuff with obj and arg
end
严格地说,在classdef中的methodTwo的advance声明是可选的,因为它使用默认的访问说明符。如果你想有一个方法作为私有方法,你可以把它放在一个方法(Access =私有)块。