Dziedziczenie a typy wariantne

Założenie: Zrozumieć, jak kowariancja i kontrawariancja wpływają na dziedziczenie w kontekście typów generycznych w PHP.

Krok po kroku:

  1. Definicja klasy bazowej: Stwórzmy klasę bazową Owoc.
  2. 
    nazwa = $nazwa;
      }
    }
    ?>
    				
  3. Definicja klasy pochodnej: Utwórzmy klasę Jablko dziedziczącą po Owoc.
  4. 
    kolor = $kolor;
      }
    }
    ?>
    				
  5. Kowariancja: Utwórzmy funkcję, która przyjmuje jako argument tablicę owoców i wypisuje ich nazwy. Ponieważ `Jablko` jest typem `Owoc`, możemy przekazać tablicę jabłek do tej funkcji.
  6. 
    nazwa . "\n";
      }
    }
    
    $jablka = [new Jablko("Szampion", "czerwony"), new Jablko("Golden", "żółty")];
    wypiszNazwyOwoców($jablka);
    ?>
    				
  7. Podsumowanie: W tym przykładzie pokazaliśmy prostą kowariancję. Funkcja zaprojektowana do pracy z `Owoc` może również pracować z `Jablko`, ponieważ `Jablko` jest podtypem `Owoc`.

Ten przykład prezentuje podstawy kowariancji w kontekście dziedziczenia i typów generycznych. Zachęcamy do dalszego zgłębiania tematu kontrawariancji i bardziej zaawansowanych zastosowań typów wariantnych w PHP.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *