Поместите код определения класса в файлы, которые имеют расширение .m
. Имя файла должно совпасть с именем класса, сопровождаемого расширением .m
.
Для получения информации о коде, который задает класс, смотрите Компоненты Класса.
Существует два способа создать папки, которые содержат файлы определения класса:
Папка Path — папка, которая находится на пути MATLAB®.
Папка Class — папка, которая находится в папке path и названа с символом @
и именем класса. Например:
@MyClass
Папки класса не находятся непосредственно на пути MATLAB. Папка path, которая содержит папку класса, находится на пути MATLAB.
Существует два способа задать классы относительно файлов и папок:
Создайте единственный, автономный файл определения класса в папке path или папке класса
Задайте класс в нескольких файлах, который требует, чтобы вы использовали папку класса в папке path
Создайте единственный, автономный файл определения класса в папке на пути MATLAB®. Имя файла должно совпадать с классом (и конструктор) имя и должно иметь расширение .m
. Задайте класс полностью в этом файле. Можно поместить другие однофайловые классы в эту папку.
Следующая схема показывает пример этой структуры папок. pathfolder
является папкой на пути MATLAB.
При использовании несколько файлов, чтобы задать класс, поместите все файлы определения класса (файл, содержащий classdef
и все файлы метода класса) в единственной @ClassName
папке. Та папка класса должна быть в папке, которая находится на пути MATLAB. Можно задать только один класс в папке класса.
Папка path может содержать классы, заданные и в папках класса и в единственных файлах без папки класса.
Родительская папка к папке пакета находится на пути MATLAB, но папка пакета не. Папки пакета (которые всегда начинаются с символа +
) могут содержать несколько определений классов, ограниченных по объему пакетом функций и другие пакеты. Папка пакета задает новое пространство имен, в котором можно снова использовать имена классов. Используйте имя пакета, чтобы относиться к классам и функциям, определяемым в папках пакета (например, packagefld1.ClassNameA()
, packagefld2.packageFunction()
).