Java によるオブジェクト指向プログラミング入門
Sani Yusuf
Lead Software Engineering Content Developer
// Car クラス
class Car {
// バッテリー容量は電気自動車にのみ適用
public int batteryCapacity;
void drive() {
}
}
// Toyota クラス class Toyota extends Car { void drive(){ } }// Main クラス public static class Main { public static void main(String[] args) { Toyota myToyota = new Toyota(); // すべての車が「batteryCapacity」を継承 // 電気自動車でなくても System.out.println( myToyota.batteryCapacity); // 非該当 } }
implements キーワードでインターフェースを利用
// ElectricCar インターフェース
interface ElectricCar {
}
// ElectricCar インターフェースを
// 実装する Tesla
class Tesla implements ElectricCar {
}
UPPER_SNAKE_CASEpublic static final
interface ElectricCar {
// 暗黙的に public static final
// 変更不可
int BATTERY_CAPACITY = 310;
}
abstract(実装なし)abstract メソッドはサブクラスで実装必須interface ElectricCar { // 暗黙的に public static final // 変更不可 int BATTERY_CAPACITY = 310;// これは既定で抽象メソッド void charge();// これは具象メソッド void autoPark() { }}class Tesla implements ElectricCar { // 実装必須 public void charge() { } }
Java によるオブジェクト指向プログラミング入門