オブジェクト指向プログラミング - MATLAB & Simulink

MATLAB

オブジェクト指向プログラミングを使用して、実世界のオブジェクトをモデル化

オブジェクト指向プログラミングは、データ (プロパティ) とそのデータを操作する関数 (メソッド) を組み合わせたオブジェクトと呼ばれる構造をプログラムで定義できるようにする設計手法です。MATLAB® では、実世界のデバイスとシステムの動作をモデル化するオブジェクトを作成できます。このオブジェクトは、複雑なシステムをシミュレーションして解析するために使用するアプリケーションで基本ブロックとして使用することができます。


MATLAB オブジェクトは、内部の複雑さを意識せずに利用できる明確に定義されたインターフェースを提供します。

オブジェクト指向プログラミングを使用してソフトウェアの複雑性を管理

MATLAB でオブジェクト指向プログラミングを用いることで、保守や拡張が容易な論理コンポーネントにコードを整理して、ソフトウェアの複雑性を管理できます。内部のコードの複雑さを意識せずに利用できる明確に定義されたインターフェースを通じて再利用可能オブジェクトを作成することで、コードの重複を回避できます。さらに、クライアントコードの非互換性を引き起こすことなく、オブジェクトを経時的に変化させることができます。


MATLAB クラスの要素

MATLAB クラスには、特定タイプのオブジェクトを作成するための設計図や一連の命令が含まれます。クラス定義は classdef キーワードから始まり、以下の主要な 3 つの要素を含みます。

  • Properties ブロックは、クラスの各オブジェクトのデータを格納するプロパティを定義します。 
  • Methods ブロックは、クラスの各オブジェクトに対して実行可能な操作を定義する一連の関数を含みます。
  • Events ブロックは、オブジェクト内で何らかの変更が生じたときに、そのオブジェクトがアプリケーションの他の部分に送信するメッセージを定義します。

MATLAB クラスの要素

MATLAB クラスの定義サンプル。

MATLAB は、プロパティやメソッドの属性と検証構文を提供して、プロパティのタイプ、サイズ、値に対する制約を適用します。

MATLAB は、プロパティやメソッドの属性と検証構文を提供して、プロパティのタイプ、サイズ、値に対する制約を適用します。

プロパティとメソッドの定義

クラス定義の際に属性を指定して、クラスのプロパティやメソッドの動作とオブジェクト外からのアクセス方法を制御できます。たとえば、プロパティやメソッドを、public、private、protected に設定できます。プロパティを指定する際に検証構文を使用することで、エラー確認用コードの記述を省くことができます。


オブジェクトの操作

クラス コンストラクターという特殊なメソッドを使用して、オブジェクトを作成できます。コンストラクターは MATLAB 関数と同様の方法で呼び出し、単一または配列のオブジェクトを作成する際に使用できます。オブジェクトのプロパティには、構造体のフィールドと同様の方法でアクセスできます。オブジェクトメソッドは、通常の MATLAB 関数と同じ方法で呼び出せます。

MATLAB オブジェクトには、他の言語と比べて独自の特徴があります。たとえば、クラスはいつでも変更でき、そのクラスのオブジェクトは即座に更新されます。さらに、MATLAB は、明示的なメモリの割り当てや解放を必要とせず、他の一部の言語で使用される非確定的なガベージコレクションを使用せずにオブジェクトのライフサイクルを管理します。

使い慣れた構文を使用して、MATLAB のオブジェクトを作成して操作します。

使い慣れた構文を使用して、MATLAB のオブジェクトを作成して操作します。