Traits

Enumerações podem utilizar traits, que se comportam da mesma maneira que nas classes. A limitação é que usados em uma enum não podem conter propriedades. Eles podem incluir apenas métodos e métodos estáticos. Um trait com propriedades resultará em um erro fatal.

<?php
interface Colorido
{
public function
cor(): string;
}

trait
Retangulo
{
public function
shape(): string {
return
"Retângulo";
}
}

enum Naipe implements Colorido
{
use
Retangulo;

case
Copas;
case
Ouros;
case
Paus;
case
Espadas;

public function
cor(): string
{
return
match($this) {
Naipe::Copas, Naipe::Ouros => 'Vermelho',
Naipe::Paus, Naipe::Espadas => 'Preto',
};
}
}
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top