Results of 1 - 2 of about 2 for kitty (0.001 sec.)
- 共変性と反変性 11228
- « オブジェクトのシリアライズ レイジーオブジェクト » PHP Manual クラスとオブジェクト 共変性と反変性 検索 共変性と反変性 PHP 7.2.0 で、子クラスのメソッドのパラメータの型の制限を除く形で、反変性が一部サポートされました。 PHP 7.4.0 以降で、共変
... function adopt ( string $name ): Dog // Animal 型を返す代わりに、Dog 型を返すことができる { return new Dog ( $name ); } } $kitty = (new CatShelter )-> adopt ( "Ricky" ); $kitty -> speak (); echo "\n" ; $doggy = (new DogShelter )-> adopt ( "Mavrick" ); ... ) { echo $this -> name . " eats " . get_class ( $food ); } } さて、反変性がどのように動くかが以下でわかるでしょう。 <?php $kitty = (new CatShelter )-> adopt ( "Ricky" ); $catFood = new AnimalFood (); $kitty -> eat ( $catFood ); echo "\n" ; $doggy = (n ... = new Food (); $doggy -> eat ( $banana ); 上の例の出力は以下となります。 Ricky eats AnimalFood Mavrick eats Food しかし、 $kitty の eat() メソッドに $banana を渡すとどうなるでしょう? $kitty->eat($banana); 上の例の出力は以下となります。 Fatal error: Un ...
-
https://man.mtool.work/php/8.3/language.oop5.variance.html
- 共変性と反変性 7485
- « オブジェクトのシリアライズ レイジーオブジェクト » PHP Manual クラスとオブジェクト 共変性と反変性 検索 共変性と反変性 PHP 7.2.0 で、子クラスのメソッドのパラメータの型の制限を除く形で、反変性が一部サポートされました。 PHP 7.4.0 以降で、共変
... function adopt ( string $name ): Dog // Animal 型を返す代わりに、Dog 型を返すことができる { return new Dog ( $name ); } } $kitty = (new CatShelter )-> adopt ( "Ricky" ); $kitty -> speak (); echo "\n" ; $doggy = (new DogShelter )-> adopt ( "Mavrick" ); ... ) { echo $this -> name . " eats " . get_class ( $food ); } } さて、反変性がどのように動くかが以下でわかるでしょう。 <?php $kitty = (new CatShelter )-> adopt ( "Ricky" ); $catFood = new AnimalFood (); $kitty -> eat ( $catFood ); echo "\n" ; $doggy = (n ... = new Food (); $doggy -> eat ( $banana ); 上の例の出力は以下となります。 Ricky eats AnimalFood Mavrick eats Food しかし、 $kitty の eat() メソッドに $banana を渡すとどうなるでしょう? $kitty->eat($banana); 上の例の出力は以下となります。 Fatal error: Un ...
-
https://man.mtool.work/php/8.3/language.oop5.variance.html
PREV
1
NEXT