Java

抽象クラス

具象クラスに継承されることが前提。

public abstract class Fruit {
          public abstract String whatColor();
}

抽象クラスFruitは抽象メソッドwhatColor()をもつ。修飾子abstractをつける。
抽象メソッドは具体的な色を返すことができないため、{}はかかない。
抽象メソッドは抽象クラスにしか定義できない。具象クラスでオーバーライドが必要。

eclipseのクラス作成の画面で「abstract」や「スーパークラス」を選ぶ、
もしくは、コンパイルエラーのときに修正例を選択することで自動入力できる。

インターフェース

インターフェースとは、モノを定義するというよりは、モノの使い方のルールだけを決めるもの。
ルールがたくさん集まれば、規格となる。
クラスではなく、新規インターフェースを作成する。

インターフェースの実装
クラス名の後ろに「implements インターフェース名」を記述する。
eclipseのクラス作成画面からインターフェースを追加すると自動的に記述される。
インターフェースには「is a 関係」は必要ではなく、
能力を表すため、複数のインターフェースを実装できる。(インターフェースの多重実装)

インターフェース型の参照変数を配列で使うと、メソッドをfor文でまわしてポリモーフィズムを実装できる。

Audio[] audioAry = { new Stereo, new MP3Player };
for ( int i = 0; i< audioAry.length; i++){


audioAry[i].play();
           audioAry[i].stop();
}

パッケージ

クラス管理
package宣言はソースファイルの先頭に1度だけ使用できる。

Stringクラス

内部的には配列で管理している。「JDK」で検索してAPIドキュメントを調べるとよい。

コメント

タイトルとURLをコピーしました