MatlabでTCPIPクラスを正しく継承するにはどうすればよいですか?

マカヌ

クラス内にTCPIPオブジェクトを作成したかったのです。これを行う方法を理解するのにいくつかの問題があります。

まず、動作するコードスニペットを示します。

>> %Creating the TCPIP object
>> TCPIP = tcpip('localhost',1000)

   TCPIP Object : TCPIP-localhost

   Communication Settings 
    RemotePort:         1000
    RemoteHost:         localhost
    Terminator:         'LF'
    NetworkRole:        client

   Communication State 
    Status:             closed
    RecordStatus:       off

   Read/Write State  
    TransferStatus:     idle
    BytesAvailable:     0
    ValuesReceived:     0
    ValuesSent:         0


>> %Changing Buffersize as example
>> TCPIP.OutputBufferSize = 30000

    TCPIP Object : TCPIP-localhost

    Communication Settings 
     RemotePort:         1000
     RemoteHost:         localhost
     Terminator:         'LF'
     NetworkRole:        client

    Communication State 
     Status:             closed
     RecordStatus:       off

    Read/Write State  
     TransferStatus:     idle
     BytesAvailable:     0
     ValuesReceived:     0
     ValuesSent:         0

ご覧のとおり、Buffersize変更のコマンドライン出力は表示されていません。これを正しく視覚化することはできませんが、説明しようとしています。TCPIPオブジェクトを作成した後、MatlabはTCPIPを使用して変数作成します1x1 tcpipこの値をダブルクリックすると、を含むオブジェクトのすべてのプロパティが表示されますoutputBuffersize

次に、クラスでの実装の最初の試みを示します。TCPIPクラスのプロパティ内に変数(前に説明したように)を保存するメソッド内にtcpipオブジェクトを作成しようとしました

classdef tcp_test < handle

    properties
        TCPIP
    end

    methods

         %CONSTRUCTOR
         function Obj = tcp_test(~)      
             ipobject(Obj);
         end

         %DECONSTRUCTER
         function delete(~) 
         end

         %Create TCPIP Object
         function ipobject(Obj)
             Obj.TCPIP = tcpip('localhost',1000);
             Obj.TCPIP.OutputBufferSize = 30000;
         end
    end
end

このクラスの例はすべてのエラー出力で機能していますが、期待どおりに機能していないように見えるものを認識しました。クラスオブジェクト「myTCP = tcp_test」を作成した後、オブジェクト「myTCP.TCPIP」を調べてみたところ、空のように見えることがわかりました。実際に必要なすべてのプロパティが設定されており、変更することができますが、表示されていません。

これは元の質問につながります:クラスメソッドを使用するには、tcpipクラスを継承する必要があると思いました。

視覚化が欠けているため、私はまだ何か間違ったことをしているような気がします。

ウルフィー

これは、コマンドウィンドウに表示される内容を理解していないだけだと思います。オブジェクトのすべてのプロパティではなく、サブセットにすぎない場合もあります。あなたが入力するとget( TCPIP )、コマンド・ウィンドウには、すべてのプロパティが表示されますを含みますOutputBufferSize同様に、t = tcp_test; get( t.TCPIP )同じプロパティが表示されます。

edit tcpipコマンドウィンドウに入力すると、tcpipクラスに次のプロパティがあることがわかります。

properties(Hidden, SetAccess = 'public', GetAccess = 'public')
    icinterface
end    

instrument編集できないクラスを継承し、定義が表示されない他のプロパティがあります。

ここで重要なのはHidden属性です。ドキュメントから

MATLABは、保護されたGetAccessまたはプライベートなGetAccessを持つプロパティまたはHidden属性がtrueであるプロパティの名前と値をコマンドウィンドウに表示しません

あなたがすることができない理由はここにある参照ワークスペースのプロパティを。ただし、プロパティを自由に編集して、一般get( TCPIP )的なgetコマンドまたは特定のコマンドを使用して表示することができます

outBuffer = get( TCPIP, 'OutputBuffer' );

ドットインデックスを使用すると、より簡単に実行できます

outBuffer = TCPIP.OutputBuffer;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

S4 クラスを別の S4 クラスから正しく継承するにはどうすればよいですか?

分類Dev

System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

分類Dev

System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

分類Dev

並列ブロックでスレッドカルチャを正しく継承するにはどうすればよいですか?

分類Dev

多重継承を使用していくつかの親クラス属性値を取得するにはどうすればよいですか?

分類Dev

AからBを継承しながら、BからクラスAを継承するにはどうすればよいですか?

分類Dev

メタクラスで多重継承を使用するにはどうすればよいですか?

分類Dev

継承で特定の基本クラスを取得するにはどうすればよいですか?

分類Dev

親クラスのすべての機能を継承するにはどうすればよいですか?

分類Dev

2つのクラスからUITextFieldを継承するにはどうすればよいですか?

分類Dev

クラス継承を使用して引数を渡すにはどうすればよいですか?

分類Dev

Awake()、Start()、UpdateおよびFixedUpdate()などのUnityのコールバック関数を正しく継承するにはどうすればよいですか?

分類Dev

次のクラス継承を設計するにはどうすればよいですか?

分類Dev

VueJSの小道具-「クラス」属性の継承を回避するにはどうすればよいですか?

分類Dev

QTableWidgetとクラスMainWindowを継承するにはどうすればよいですか?

分類Dev

継承可能なクラス変数を作成するにはどうすればよいですか?

分類Dev

継承を無視して、クラスが特定のタイプであるかどうかを確認するにはどうすればよいですか?

分類Dev

継承するときに基本クラスのコピーを作成しないようにするにはどうすればよいですか?C ++

分類Dev

親定数を継承してアクセスするにはどうすればよいですか?

分類Dev

LuaBridgeを使用して同じクラスから継承された2つのクラスを登録するにはどうすればよいですか?

分類Dev

Delphiで、IComparableを実装し、TEqualityComparerから継承するクラスを作成するにはどうすればよいですか?

分類Dev

(C ++)継承時に子クラスを削除した後に基本クラスを削除するにはどうすればよいですか?

分類Dev

他のクラスから継承しないクラスを作成するにはどうすればよいですか?

分類Dev

super()を使用して、複数の父親クラスから特定のクラスを継承するにはどうすればよいですか?

分類Dev

カスタムLinkedListクラスから継承するにはどうすればよいですか?

分類Dev

クラスで関数を正しく使用するにはどうすればよいですか?

分類Dev

Roslynでクラス宣言構文を正しく変更するにはどうすればよいですか?

分類Dev

クラスにインターフェイスを実装し、別のクラスから継承させるにはどうすればよいですか?

分類Dev

tf.Tensorから継承する新しいクラスを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    S4 クラスを別の S4 クラスから正しく継承するにはどうすればよいですか?

  2. 2

    System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

  3. 3

    System.Web.Http.ApiControllerをF#に正しく継承するにはどうすればよいですか?

  4. 4

    並列ブロックでスレッドカルチャを正しく継承するにはどうすればよいですか?

  5. 5

    多重継承を使用していくつかの親クラス属性値を取得するにはどうすればよいですか?

  6. 6

    AからBを継承しながら、BからクラスAを継承するにはどうすればよいですか?

  7. 7

    メタクラスで多重継承を使用するにはどうすればよいですか?

  8. 8

    継承で特定の基本クラスを取得するにはどうすればよいですか?

  9. 9

    親クラスのすべての機能を継承するにはどうすればよいですか?

  10. 10

    2つのクラスからUITextFieldを継承するにはどうすればよいですか?

  11. 11

    クラス継承を使用して引数を渡すにはどうすればよいですか?

  12. 12

    Awake()、Start()、UpdateおよびFixedUpdate()などのUnityのコールバック関数を正しく継承するにはどうすればよいですか?

  13. 13

    次のクラス継承を設計するにはどうすればよいですか?

  14. 14

    VueJSの小道具-「クラス」属性の継承を回避するにはどうすればよいですか?

  15. 15

    QTableWidgetとクラスMainWindowを継承するにはどうすればよいですか?

  16. 16

    継承可能なクラス変数を作成するにはどうすればよいですか?

  17. 17

    継承を無視して、クラスが特定のタイプであるかどうかを確認するにはどうすればよいですか?

  18. 18

    継承するときに基本クラスのコピーを作成しないようにするにはどうすればよいですか?C ++

  19. 19

    親定数を継承してアクセスするにはどうすればよいですか?

  20. 20

    LuaBridgeを使用して同じクラスから継承された2つのクラスを登録するにはどうすればよいですか?

  21. 21

    Delphiで、IComparableを実装し、TEqualityComparerから継承するクラスを作成するにはどうすればよいですか?

  22. 22

    (C ++)継承時に子クラスを削除した後に基本クラスを削除するにはどうすればよいですか?

  23. 23

    他のクラスから継承しないクラスを作成するにはどうすればよいですか?

  24. 24

    super()を使用して、複数の父親クラスから特定のクラスを継承するにはどうすればよいですか?

  25. 25

    カスタムLinkedListクラスから継承するにはどうすればよいですか?

  26. 26

    クラスで関数を正しく使用するにはどうすればよいですか?

  27. 27

    Roslynでクラス宣言構文を正しく変更するにはどうすればよいですか?

  28. 28

    クラスにインターフェイスを実装し、別のクラスから継承させるにはどうすればよいですか?

  29. 29

    tf.Tensorから継承する新しいクラスを作成するにはどうすればよいですか?

ホットタグ

アーカイブ