Java によるオブジェクト指向プログラミング入門
Sani Yusuf
Lead Software Engineering Content Developer
// 抽象クラス Car
abstract class Car {
// 抽象メソッド drive
abstract void drive();
// 実装なし
}
// Toyota は Car を継承
class Toyota extends Car {
}
// Tesla は Car を継承
class Tesla extends Car {
}
// Lamborghini は Car を継承
class Lamborghini extends Car {
}
@Override はメソッドの独自実装を定義するためのキーワードです // 抽象クラス Car
abstract class Car {
// 抽象メソッド drive
abstract void drive();
// 実装なし
}
class Toyota extends Car {
@Override // メソッドをオーバーライド
void drive() {
// Toyota 固有の実装
}
}
class Tesla extends Car {
@Override
void drive() {
// Tesla 固有の実装
}
}
class Lamborghini extends Car {
@Override
void drive() {
// Lamborghini 固有の実装
}
}
// ElectricCar インターフェース
interface ElectricCar {
abstract void charge();
// 実装なし
}
@Override の明記を推奨します
// Tesla クラスは
// ElectricCar を実装
class Tesla implements ElectricCar {
// charge は実装必須
@Override
void charge(){
// Tesla 固有の充電実装
// インターフェースによる選択的継承
}
}
// Toyota クラス class Toyota { void drive() { // drive メソッドの最初の実装 }// オーバーロードした drive メソッド void drive(int topSpeed) { // 2つ目の実装 } }
// Honda クラス class Honda { // 1つ目のコンストラクタ public Honda(String color, String model) { }// 2つ目のコンストラクタ public Honda(String color, String model, String licensePlate) { } }
public class Main { public static void main( String[] args) { // 1つ目のコンストラクタの使用 Honda hondaOne = new Honda("Red", "Accord");// 2つ目のコンストラクタの使用 Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Java によるオブジェクト指向プログラミング入門