categories = $categories; $this->possibleResponses = $possibleResponses; } abstract public function responseStrategy(); abstract public function printStrategy(): string; /** * @return array */ public function getPossibleResponses(): array { return $this->possibleResponses; } /** * @param array $possibleResponses */ public function setPossibleResponses(array $possibleResponses): void { $this->possibleResponses = $possibleResponses; } /** * @return array */ public function getCategories(): array { return $this->categories; } /** * @param array $categories */ public function setCategories(array $categories): void { $this->categories = $categories; } }