<?php
class Aircraft
{
/**
* @var string
*/
private $aircraftType;
/**
* @var string
*/
private $departureCity;
/**
* @var string
*/
private $arrivalCity;
public function __construct(
string $aircraftType,
string $departureCity,
string $arrivalCity
) {
$this->aircraftType = $aircraftType;
$this->departureCity = $departureCity;
$this->arrivalCity = $arrivalCity;
}
public function __toString(): string
{
return sprintf(
"Bienvenue à bord de notre %s.\n" .
"Ce vol est en décollage imminent de %s et aura pour arrivée %s.",
$this->aircraftType(),
$this->departureCity(),
$this->arrivalCity()
);
}
public function aircraftType(): string
{
return $this->aircraftType;
}
public function departureCity(): string
{
return $this->departureCity;
}
public function arrivalCity(): string
{
return $this->arrivalCity;
}
}
class PrivateJet extends Aircraft
{
private $arrivalCity;
/**
* @var string
*/
private $airportDestination;
public function __construct(
string $aircraftType,
string $departureCity,
string $arrivalCity,
string $airportDestination
) {
parent::__construct($aircraftType, $departureCity, $arrivalCity);
$this->airportDestination = $airportDestination;
}
public function __toString(): string
{
return sprintf(
"%s\n" .
"Notre arrivé se fera à l'aéroport %s.",
parent::__toString(),
$this->airportDestination()
);
}
public function airportDestination(): string
{
return $this->airportDestination;
}
}
echo new PrivateJet('Wijet', 'Lyon', 'Bordeaux', 'de Bordeaux-Mérignac');
preferences:
55.4 ms | 402 KiB | 5 Q