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