Interfejsy a typy sparametryzowane

Założenie: Pokażemy, jak wykorzystać interfejsy z typami sparametryzowanymi w PHP, aby zapewnić typ bezpieczeństwa i elastyczność kodu.

Krok po kroku:

  1. Definicja interfejsu z typem sparametryzowanym:
    
    interface DataContainer {
      public function getData(): string;
      public function setData(string $data): void;
    }
    					

    Ten interfejs definiuje metodę `getData()` zwracającą string oraz `setData()` przyjmującą string.

  2. Implementacja interfejsu dla konkretnego typu:
    
    class NameContainer implements DataContainer {
      private string $name;
    
      public function __construct(string $name) {
        $this->name = $name;
      }
    
      public function getData(): string {
        return $this->name;
      }
    
      public function setData(string $data): void {
        $this->name = $data;
      }
    }
    					

    Klasa `NameContainer` implementuje interfejs `DataContainer` i przechowuje imię jako string.

  3. Użycie klasy:
    
    $nameContainer = new NameContainer("Jan");
    echo $nameContainer->getData(); // Wyświetli "Jan"
    $nameContainer->setData("Anna");
    echo $nameContainer->getData(); // Wyświetli "Anna"
    					

    Tutaj tworzymy instancję `NameContainer` i używamy metod zdefiniowanych w interfejsie.

Ten przykład pokazuje podstawowe zastosowanie interfejsów z typami sparametryzowanymi. Zachęcamy do dalszego zgłębiania tematu, aby lepiej zrozumieć ich możliwości i zastosowania w bardziej złożonych projektach.

Dodaj komentarz 0

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