Composer での ThingWorx モデルの定義 > モデル化 > Thing Template > オブジェクト指向プログラミングとの類似性
オブジェクト指向プログラミングとの類似性
ThingWorx モデルオブジェクトがオブジェクト指向プログラミングのいくつかの基本原理と比較されることがよくあります。モデルを表すときに "拡張" および "実装" という用語が使用されることがあります。
Thing Shape はインタフェースと考えることができます。Thing Shape はオブジェクト指向設計でコンポジションと呼ばれる推奨テクニックに相当します。コンポジションは設計全体で再使用される機能です。ThingWorx で Thing Shape を実装すると、そのプロパティとサービスが継承されます。
コンポジションは、特性を "持つ" として表すことができます。たとえば、Acme Tractor は芝刈り装置を "持ち"、モーターを "持ち" ます。
Thing Template はクラスと考えることができます。オブジェクト指向設計では、クラスはベースクラスを拡張できます。これは継承とも呼ばれ、確立済みのベースクラスの動作を再定義または拡張できることを意味します。ThingWorx で Thing Template を拡張すると、そのプロパティとサービスが継承されます。
継承は特性 "である" として表すことができます。
たとえば、Economy Series Model 10 トラクターは:
Economy Series トラクター "です"。
家庭用ガーデントラクター "です"。
Acme トラクター "です"。