動的バインディングとメッセージパッシングの違いは何ですか

目次:

Anonim

NS 主な違い 動的バインディングとメッセージパッシングの間には、 動的バインディングは、実行時にプロシージャコールを関連するコードにリンクする方法であり、メッセージパッシングはオブジェクト間でメッセージを交換する方法です。

オブジェクト指向プログラミング(OOP)は、コンピューティングにおける実際のシナリオのモデリングを可能にする主要なプログラミングパラダイムです。さらに、これにより、プログラムが再利用可能で管理しやすくなります。 OOPでは、オブジェクトには属性とメソッドがあります。属性はプロパティを定義し、メソッドは動作を定義します。ほとんどの高級プログラミング言語はOOP機能をサポートしています。動的バインディングとメッセージパッシングは、そのような2つの機能です。

動的バインディング、遅延バインディング、メッセージパッシング、OOP

動的バインディングとは

動的バインディングは、コードの実行時にプロシージャ呼び出しをそのコードにリンクする方法です。つまり、実行時に発生します。動的バインディングは、 遅延バインディング。例は次のとおりです。

図1:形状クラス

図2:サークルクラス

図3:三角形のクラス

図4:主な方法

Shapeクラスにはdrawメソッドがあり、CircleクラスとTriangleクラスはShapeクラスを拡張します。したがって、Shapeクラスは親クラスであり、CircleクラスとTriangleクラスは子クラスです。これらのクラスには、独自の実装を持つ「draw」メソッドもあります。

mainメソッドでは、sはShape型の参照変数です。まず、sはShapeタイプのオブジェクトを指します。したがって、Shapeクラスのdrawメソッドを呼び出します。次に、sはCircle型のオブジェクトを指します。したがって、Circleクラスのdrawメソッドを呼び出します。最後に、sはTriangleオブジェクトを指し、Triangleクラスのdrawメソッドを呼び出します。さまざまな描画メソッドが実行時に実行されます。参照変数のタイプはShapeですが、バインドは実行時にそれに応じて行われます。したがって、これは動的バインディングと呼ばれます。

メッセージパッシングとは

メッセージパッシングは、オブジェクト間でメッセージを交換する方法です。オブジェクトは、人間と同じように、オブジェクト間でメッセージを送受信できます。プログラミングでは、関数またはメソッドがメッセージの受け渡しに役立ちます。 OOPに加えて、メッセージパッシングはプロセス間通信と並列コンピューティングのプロセスと他のリソースの間で発生します。

メッセージパッシングは、同期または非同期にすることができます。同期メッセージパッシングでは、送信者と受信者はメッセージを交換するときに互いに待機する必要があります。非同期通信では、お互いがメッセージを渡すのを待つ必要はありません。メッセージの転送中に独自の計算を実行できます。

動的バインディングとメッセージパッシングの違い

意味

動的バインディングは、プロシージャ呼び出しを関連するコードにリンクする方法であり、実行時にのみ実行されます。メッセージパッシングは、オブジェクト指向プログラミングでオブジェクト間でメッセージを交換する方法です。したがって、これが動的バインディングとメッセージパッシングの主な違いです。

使用法

動的バインディングとメッセージパッシングのもう1つの違いは、動的バインディングでは実行時に同じオブジェクトを使用して異なるコードを実行できるのに対し、メッセージパッシングではオブジェクト間の通信を開発できることです。

結論

動的バインディングとメッセージパッシングの主な違いは、動的バインディングは実行時にプロシージャ呼び出しを関連するコードにリンクする方法であり、メッセージパッシングはオブジェクト間でメッセージを交換する方法であるということです。

リファレンス:

1.戦闘機、テクノロジー。オブジェクト指向プログラミングの概念–動的バインディング、テクノロジーファイター、2017年11月9日、こちらから入手可能2。 「メッセージパッシングの定義と情報。」 IT定義、2014年12月26日、こちらから入手できます。

動的バインディングとメッセージパッシングの違いは何ですか