抽象メソッドとは
抽象クラスの中で定義されるメソッド。
抽象クラスは、他のクラスに継承されることを前提としている。
子クラスは必ず抽象メソッドを実装しなければならないため、特定のメソッドが常に存在することを保証できる。
abstract
は「このメソッドは抽象メソッドである」という意味。
具体的なロジックはこの抽象メソッドを実装するサブクラスに委ねられる。
abstract class Animal {
//抽象メソッドを定義
abstract public function makeSound();
}
class Dog extends Animal {
public function makeSound() {
return 'Bark';
}
}
使う場面
- 共通のインターフェースを強制し、子クラスが必ず特定のメソッドを実装する必要がある
- 共通の基本機能を持ち、それを派生クラスで具体的に実装する必要がある