Импортируйте классы в функцию, чтобы упростить доступ к членам класса. Например, предположим, что существует пакет, который содержит несколько классов, и вы будете использовать только один из этих классов или статический метод в вашей функции. Используйте import
команда для упрощения кода. После импорта класса ссылка на имя пакета не требуется:
function myFunc import pkg.MyClass obj = MyClass(arg,...); % call MyClass constructor obj.Prop = MyClass.staticMethod(arg,...); % call MyClass static method end
Импортируйте все классы в пакете с помощью синтаксиса pkg.*
:
function myFunc import pkg.* obj1 = MyClass1(arg,...); % call pkg.MyClass1 constructor obj2 = MyClass2(arg,...); % call pkg.MyClass2 constructor a = pkgFunction(); % call package function named pkgFunction end
Использовать import
для импорта статического метода, чтобы можно было вызвать этот метод без использования имени класса. Звонить import
с полным именем класса, включая любые пакеты, и статическим именем метода.
function myFunc import pkg.MyClass.MyStaticMethod MyStaticMethod(arg,...); % call static method end
Использовать import
для импорта функций пакета, чтобы можно было вызвать эти функции без использования имени пакета. Звонить import
с пакетом и именем функции.
function myFunc import pkg.pkgFunction pkgFunction(arg,...); % call imported package function end
Избегайте импорта целого пакета с помощью *
синтаксис подстановочного знака. При этом импортируется неопределенный набор имен в локальные возможности. Например, предположим, что у вас есть следующая организация папок:
+pkg/timedata.m % package function +pkg/@MyClass/MyClass.m % class definition file +pkg/@MyClass/timedata.m % class method
Импортируйте пакет и вызывайте timedata
на образце MyClass
:
import pkg.* myobj = pkg.MyClass; timedata(myobj)
Вызов timedata
находит функцию пакета, а не метод класса, потому что MATLAB® применяет import
и находит pkg.timedata
во-первых. Не используйте пакет в случаях, когда у вас есть конфликты по совпадению имен и вы планируете импортировать пакет.
Вы не можете удалить список импорта из рабочей области функции. Чтобы очистить только базовое рабочее пространство, используйте:
clear import