Искажение класса позволяет вам переименовывать классы при поддержании обратной совместимости с кодом и MAT-файлами, которые используют одни или несколько более старых имен классов. В действительности, MATLAB® распознает больше чем одно имя за тот же класс. matlab.alias.AliasFileManager
обеспечивает API для создания и поддержания файлов определения псевдонима. Рекомендуемый процесс для создания и поддержания файлов псевдонима должен использовать функции, чтобы автоматизировать процесс. Чтобы совместно использовать код, который включает классы, которые были переименованы с помощью искажения, включайте одно из следующего:
Создающая псевдоним функция в скрипте настройки вашего приложения или тулбокса
Сам файл определения псевдонима
Пример Создает Файл Псевдонима Класса, показывает функцию, которая создает файл псевдонима, который задает переименование одного класса. Можно также переименовать класс многократно или переименовать несколько классов целиком.
Пример Создает Файл Псевдонима Класса, показывает, как создать файл определения псевдонима, который переименовывает FirstName
к SecondName
. Переименовать класс снова в ThirdName
, ThirdName.m
файл класса должен быть в Work
, и SecondName.m
файл должен быть удален. (MATLAB выдает предупреждение когда SecondName.m
больше не присутствует.)
Переименовать класс, который уже имеет один или несколько существующих псевдонимов, addAlias
метод должен взять все предыдущие имена в качестве входных параметров в порядке от самых старых до новейших. В этом случае, "ThirdName"
новое имя и ["FirstName","SecondName"]
список старых названий. Эта версия createAliasFIle
также включает location
аргумент в AliasFileManager
конструктор, потому что файл псевдонима уже существует.
function createAliasFile fileMgr = matlab.alias.AliasFileManager(pwd); addAlias(fileMgr,NewName="ThirdName",OldNames=["FirstName","SecondName"); writeAliasFile(fileMgr); end
Измените текущую рабочую директорию в Work
папка и вызов createAliasFile
.
createAliasFile
Инстанцирование класса с помощью псевдонимов и текущего имени показывает, что все три распознаны ThirdName
.
oldest = FirstName older = SecondName new = ThirdName
oldest = ThirdName with no properties. older = ThirdName with no properties. new = ThirdName with no properties.
Можно также переименовать несколько классов с помощью одного AliasFileManager
экземпляр. Это изменило createAliasFile
функционируйте использует множественные вызовы addAlias
метод, чтобы включать больше чем один класс в итоговый файл определения псевдонима. Родительской папкой этих двух определений классов является C:/Work
.
function createAliasFile fileMgr = matlab.alias.AliasFileManager; addAlias(fileMgr,... NewName="myapp.ImageCropper",... OldNames="myapp.inprogress.ImageCropper"); addAlias(fileMgr,... NewName="myapp.ImageDenoiser",... OldNames="myapp.inprogress.ImageDenoiser"); writeAliasFile(fileMgr); end
Измените текущую рабочую директорию в Work
папка и вызов createAliasFile
.
createAliasFile
Функция искажения не поддерживает непосредственно переименовывающие пакеты. Чтобы переименовать пакет, необходимо переименовать каждый класс в том пакете, как показано в этом примере.
Поскольку fileMgr
ограничен по объему к функции, создайте другой экземпляр AliasFileManager
использование location
параметр, чтобы получить доступ к определениям псевдонима. Доступ к Aliases
свойство нового экземпляра видеть, что сводные данные класса искажают определения.
aliasFile = matlab.alias.AliasFileManager("C:\Work")
aliasFile.Aliases
aliasFile = AliasFileManager with properties: Aliases: [1×2 matlab.alias.AliasDefinition] ans = 1×2 AliasDefinition array showing old and new names: New Name Old Name(s) _____________________ ________________________________ "myapp.ImageCropper" "myapp.inprogress.ImageCropper" "myapp.ImageDenoiser" "myapp.inprogress.ImageDenoiser"