カプセル化
オブジェクト指向プログラミングの最初の柱はカプセル化。 カプセル化の背後にある考え方は、各タイプまたはクラスを慎重かつ自己完結型に保ちたいということです。 これにより、他のクラスに影響を与えずに、あるクラスの実装を変更することができます。
他のクラスが使用できるメソッドを提供するクラスは、server
と呼ばれます。 そのメソッドを使用するクラスはcalledaclient
です。 カプセル化の目的は、クライアントの実装を中断することなく、サーバーがどのように動作するかの詳細を変更できることです。
これは、クラスのpublic interface
とそのprivate implementation
の間に明るく輝く線を描くことによって達成されます。 パブリックインターフェイスは、あなたのクラスによって発行された契約で、私はこの仕事をすることができることを約束します。 具体的には、publicinterfaceがこれらのパラメータを使用してこのメソッドを呼び出すと、この作業を行い、この値を返すことがわかります。 クライアントはパブリックインターフェイスに依存して変更しないことができます。 パブリックインタフェースが変更された場合は、クライアントを再コンパイルして再設計する必要があります。
一方、プライベート実装はサーバーに対してプライベートです。 Serverクラスの設計者は、publicinterfaceで約束された作業をどのように変更するかを自由に変更できますが、暗黙の契約の条件を満たし続ける限り、指定されたパラメー
たとえば、次のように約束するpublicメソッドがある場合があります:私にドルの金額と年数を与えて、私は正味現在価値を返します。 どのように計算するかその金額はあなたのビジネスです;クライアントがドルの金額と年数を供給する場合は、正味現在価値を返す必要があります。 値のテーブルを保持することによって、最初にそれを実装することができます。 後でそれを変更して、適切な代数を使用して値を計算します。 それはあなたのビジネスであり、クライアントには影響しません。 あなたがpublicinterfaceを変更しない限り(例えば の値を変更しない限り、クライアントは変更しても壊れません。