・大まかな説明
・抽象クラスとはそれを構成するものを表すもの、設計図。・インターフェースとはそれについてのふるまいを表すもの
・コンストラクタとは、抽象クラスを設計図として実際に使うこと。
・例を使っての説明
ここでは魚を例に挙げて考えてみる。魚の特徴を表すものとして名前・色・重さ・食べられるかどうかなどがある。
これをクラスに記述する。
Fish.java
public class Fish() {
private String fishName;
private String fishColor;
private int fishWeight;
private boolean canEat;
public Fish(String fishName, String fishColor, int fishWeight, boolean canEat) {
this.fishName = fishName;
this.fishColor = fishColor;
this.fishWeight = fishWeight;
this.canEat = canEat;
}
}
このクラスを実際に使うときに使うのがコンストラクタである。
コンストラクタを実行してインスタンスを発行して、実際の魚の情報を入力するという形である。
constructor
public class Suzuki {
Fish Suzuki = new Fish();
Suzuki.fishName = "すずき";
Suzuki.fishColor = "青っぽい";
Suzuki.fishWeight = 10;
Suzuki.canEat = true;
}
インターフェースは振る舞いを表す。魚における振る舞いを泳ぐ、食べる、呼吸するとする。
interface
public interface fishBehave {
void swim():
void eat();
void breath():
}
まずは空のメソッドを記載(オーバーライドで書く。)
InterFace
public class Suzuki implements fishBehave {
Fish Suzuki = new Fish();
Suzuki.fishName = "すずき";
Suzuki.fishColor = "青っぽい";
Suzuki.fishWeight = 10;
Suzuki.canEat = true;
@Override
public void swim() {
System.out,println("泳ぎます。");
}