PHP 8.1.9 Released!

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::CopasNaipe::Ouros => 'Vermelho',
            
Naipe::PausNaipe::Espadas => 'Preto',
        };
    }
}
?>
add a note

User Contributed Notes

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