PHPにインタフェース関数を作成するための代替機能がありますか?パラメータはオブジェクトでなければならないが、指定されていないオブジェクトは何か?カスタムオブジェクトを使用してインタフェース関数を作成する
interface Container {
public static function add(\Employee $element);
}
今私は「従業員」からインスタンスを必要とするパラメータ、との機能を実装することができます
今、私のコードは次のようになります。私は今のクラスでそれを実装する場合には、次のようになります。
class EmployeeContainer implements Container {
public static function add(\Employee $element) {
$pnr = $element->getPNR();
}
}
私はコンテナを実装する別のクラスを作成し、練習に例えば必要なオブジェクトを設定すると、PHPコンパイラはエラーをスロー:
class TraineeContainer implements Container {
public static function add(\Trainee $element) {
$pnr = $element->getPNR();
}
}
Fatal error: Declaration of TraineeContainer::add($element) must be compatible with Container::add(Employee $element)
必要なオブジェクトをカスタムオブジェクトにインターフェイスで設定する方法はありますか?
なぜこれが欲しいですか?
多くのIDEが、この形式のインスタンス記述をサポートして、オブジェクトに基づくメソッドを提案しています。
あなたはTraineeとEmployeeに同じ基本クラスを使用し、そのクラスをインターフェイス –
の引数として使用できます@ChetanAmeta例を表示できますか、それは想像できません。 –
回答の例を見てください –