Per Dokumentation für import
und der Importing Classes weitere Lektüre:
import Impact.*
Werden alle öffentlichen statischen Methoden von Impact
in Ihrer Basis-Arbeitsbereich importieren. Private statische Methoden werden importiert, können aber nicht aufgerufen werden.
Zum Beispiel mit der folgenden Klassendefinition:
classdef testcode
methods(Static)
function test
disp('hi')
end
end
end
Und die folgenden Befehle:
import testcode.*
test
Returns:
>> test
hi
aber sagen, dass Funktionen in Ihren Namensraum zu importieren willkürlich wie dies ist sehr nicht eine gute Idee und kann leicht zu Namespace Zusammenstöße und Verwirrung führen.
Per der Dokumentation:
Vermeiden Sie diese Syntax verwenden, wie Importieren von Paketen bringt eine nicht näher bezeichnete Reihe von Namen in dem lokalen Bereich, die mit Namen in der MATLAB-Workspace in Konflikt geraten könnten. Eine mögliche Verwendung für diese Syntax besteht darin, einen Teilpaketnamen zu importieren. Wenn Sie dann eine Funktion aufrufen, verwenden Sie einen kürzeren Paketnamen, der nicht mit einfachen Funktionsnamen in Konflikt steht. Für Beispiel hat das matlab.io.hdf4.sd
Paket eine close
Funktion, die Konflikt mit der MATLAB close
Funktion kann.
können Sie auch spezifische statische Methoden importieren, was eine leichte Verbesserung gegenüber dem oben ist aber IMO die Einschränkung ist immer noch anwendbar.
Zum Beispiel:
import testcode.test
test
Gibt denselben Wert wie im vorherigen Beispiel.
Einfacher, dass ich erwartet hatte. Ich erkannte nicht die Möglichkeit, es als Paket zu importieren. Ich denke, in diesem Zusammenhang machen die Eigenschaften einer Klasse nicht zu viel Sinn. Habe ich recht? Vielen Dank! –
Nein, das macht keinen Sinn. – excaza