0

OOPは、抽象メソッドの継承を可能にします。したがって、すべての子は独自の実装を持ちます。このような機能は、一般にアプリケーションのコーディングにカスケードされます。そのため、異なる時間に1つの同じメッセージを呼び出し、インスタンス化された子のタイプに応じて異なる出力を受け取ります。この概念はポリモーフィズムとして知られています。

ポリモーフィズムが開発者にオブジェクトを作成する機会を与えることを想像してみてください。このオブジェクトには、同じシグニチャのメソッドが含まれているが実装が異なる複数のクラスのインスタンスの1つへの参照を割り当てることができます。この割り当ては、条件付きステートメントを介して行われます。その後、このオブジェクトを使用してメソッドを呼び出します。このオブジェクトは、適切な条件に応じてさまざまな操作を実行します。

同じビューですが、現在、同じ名前のクラスを含む多くのパッケージを持つJavaアプリケーションを扱っています。アプリケーションのすべてのユーザーがログインクラスを通過してから、メインメニュー画面(メインクラス)にルーティングするシナリオ。2つの異なるユーザーが存在するため、Mainクラスの2つのバージョンがあり、それぞれが2つのパッケージ(adminとuser)に含まれており、適切なパッケージの残りのエントリポイントとして機能します。

Loginクラスでオブジェクトを宣言し、認証中にユーザータイプからいずれかのパッケージマッピングへの参照を割り当てることができるポリモーフィズムの模倣はありますか?

その後、を呼び出すreference.Main.setVisible(true);と、現在のログインユーザーのタイプのMainクラスが開きます。

4

1 に答える 1

0

メニューの両方のバージョンにinterface/abstractクラスを実装させます。次に、ログインクラスでインターフェイスを多態的に使用します。

たとえば、Menuという抽象クラスを作成し、userMenuクラスとadminMenuクラスでMenuを拡張します。Loginクラスで、Menuタイプのフィールドを作成します(例として、mと呼びます)。ユーザーが誰であるかに応じて、実行時に新しいUserMenuまたはAdminMenuのいずれかを割り当てます。次に、メニューを開きたいときに、m.setVisible(true)

于 2013-03-05T03:57:59.193 に答える