1
同じメソッド名を持つ2つのインターフェイスがあります。しかし、両方のメソッドには異なるシグネチャがあります。私の情報によると、同じメソッド名と同じシグネチャを持つ2つのインターフェースは動作しません。しかし、この場合、署名(引数の数)は異なります。それではなぜプログラムが機能していないのですか?同じメソッド名でもシグネチャが異なる2つのインターフェイスを実装する
<?php
interface Car {
public function setModel($name);
}
interface Vehicle {
public function setModel();
}
class miniCar implements Car, Vehicle {
private $model;
public function setModel($name)
{
$this -> model = $name;
}
public function setModel()
{
echo 'do nothing';
}
}
$obj = new miniCar();
?>
インタフェースの全体の目的は、特定の署名を持つように実装するクラスを強制するので、のないオーバーロードがないので、同じ方法が異なるシグネチャを持つ2つのインターフェースを有することは、まったく意味をなさないPHPのメソッド –