問1の解答.
継承した場合で解答しておきます.
「MyFrame2.java」
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyFrame2 extends MyFrame implements ActionListener {
public MyFrame2() {
super();
// イベント・リスナ登録
countButton.addActionListener(this);
}
private void changeButtonLabel() {
int num;
num=getCountNumber()+1;
// ボタンのラベルを設定
countButton.setText(""+num);
setCountNumber(num);
}
/**
* @param ae アクション・イベント
*
* アクション・イベントが発生すると呼び出されるメソッドです.
*/
public void actionPerformed(ActionEvent ae) {
changeButtonLabel();
}
public static void main(String[] args) {
MyFrame2 f;
f=new MyFrame2();
f.setVisible(true);
}
}
|
継承すると,親の持っている機能を使いまわせます. なのでクラス構造が非常にスッキリするのが わかると思います.