私のアプリケーションには次のクラスがあります。
MyTextField
、拡張しJTextField
ます。
MyTextField
ただし、次のクラス内のメソッドが必要です。
MyPasswordField
、拡張しJPasswordField
ます。
Java では多重継承が許可されていないため、クラスの 85% をコピーして貼り付けることは避けたいと考えています。この「限界」をどう乗り越えるか?
私のアプリケーションには次のクラスがあります。
MyTextField
、拡張しJTextField
ます。
MyTextField
ただし、次のクラス内のメソッドが必要です。
MyPasswordField
、拡張しJPasswordField
ます。
Java では多重継承が許可されていないため、クラスの 85% をコピーして貼り付けることは避けたいと考えています。この「限界」をどう乗り越えるか?
共有機能を定義するヘルパー クラスを使用します。ヘルパー クラスのインスタンスを保持するために、MyTextField
とのそれぞれでフィールドを宣言します。MyPasswordField
共有機能の必要に応じてヘルパーへの呼び出しを中継します。これは一度コーディングするだけで済みます。
継承の代わりに構成を使用しないのはなぜですか。MyPasswordField クラスには myTextField へのインスタンス変数を含めることができます。その後、インスタンスとそのメソッドを使用してメソッドを使用できます。私が間違った道を進んでいて、何か違うことを期待している場合はお知らせください。