2016-12-12 7 views
0

は:クラスのインスタンスを作成するとき、MATLABの@は何を意味しますか?たとえば、

function s = slexpdatasetSLAP() 
    s = [email protected]('slapCC','SLAP dataset for collective classification'); %slexpdataset is a class defined in another .m file 
    s.discription ='CC'; 
end 

私が知っているように、@は、MATLABでの関数ハンドルの作成に使用されたが、明らかにその解釈は、この文脈では適切ではありません。では、それは何ですか?@の意味は?

答えて

3

これは、一般的にはthe constructor of the super-class

を呼び出すための構文で、for calling a method of the superclass、あなたは

outputs = [email protected](obj, input, arguments) 

構文を使用すると思いますが、変数名を使用するので、コンストラクタを呼び出すことは少し異なっていますあなたのオブジェクトのインスタンスの代わりに上記の例のmethodNameの代わりに

obj = [email protected](input, arguments) 

objではなく、というコンストラクタを呼び出して渡すことで、クラスインスタンスを参照する変数としてsを使用しています(コンストラクタからの出力として定義するため)。表示される引数のリスト

関連する問題