« PHP 8.3 Manual トップ
著作権 »
per page, with , order by , clip by
Results of 1 - 2 of about 2 for AnimalFood (0.001 sec.)
共変性と反変性 9357
« オブジェクトのシリアライズ レイジーオブジェクト » PHP Manual クラスとオブジェクト 共変性と反変性 検索 共変性と反変性 PHP 7.2.0 で、子クラスのメソッドのパラメータの型の制限を除く形で、反変性が一部サポートされました。 PHP 7.4.0 以降で、共変 ... るためです。 詳細は 移行ガイド を参照ください。 反変性 既に示した Animal , Cat および Dog クラスの例を引き続き使い、 Food と AnimalFood クラスを追加し、 Animal 抽象クラスに eat(AnimalFood $food) メソッドを追加してみましょう。 <?php class Food {} class Animal ... { protected string $name ; public function __construct ( string $name ) { $this -> name = $name ; } public function eat ( AnimalFood $food ) { echo $this -> name . " eats " . get_class ( $food ); } } 反変性 の振る舞いを見るため、 Dog クラスの eat メソッド ... さて、反変性がどのように動くかが以下でわかるでしょう。 <?php $kitty = (new CatShelter )-> adopt ( "Ricky" ); $catFood = new AnimalFood (); $kitty -> eat ( $catFood ); echo "\n" ; $doggy = (new DogShelter )-> adopt ( "Mavrick" ); $banana = new Food (); $dogg ...
https://man.mtool.work/php/8.3/language.oop5.variance.html
共変性と反変性 9357
« オブジェクトのシリアライズ レイジーオブジェクト » PHP Manual クラスとオブジェクト 共変性と反変性 検索 共変性と反変性 PHP 7.2.0 で、子クラスのメソッドのパラメータの型の制限を除く形で、反変性が一部サポートされました。 PHP 7.4.0 以降で、共変 ... るためです。 詳細は 移行ガイド を参照ください。 反変性 既に示した Animal , Cat および Dog クラスの例を引き続き使い、 Food と AnimalFood クラスを追加し、 Animal 抽象クラスに eat(AnimalFood $food) メソッドを追加してみましょう。 <?php class Food {} class Animal ... { protected string $name ; public function __construct ( string $name ) { $this -> name = $name ; } public function eat ( AnimalFood $food ) { echo $this -> name . " eats " . get_class ( $food ); } } 反変性 の振る舞いを見るため、 Dog クラスの eat メソッド ... さて、反変性がどのように動くかが以下でわかるでしょう。 <?php $kitty = (new CatShelter )-> adopt ( "Ricky" ); $catFood = new AnimalFood (); $kitty -> eat ( $catFood ); echo "\n" ; $doggy = (new DogShelter )-> adopt ( "Mavrick" ); $banana = new Food (); $dogg ...
https://man.mtool.work/php/8.3/language.oop5.variance.html
PREV 1 NEXT