array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'language.enumerations.static-methods.php', 1 => 'Métodos estáticos de enumerações', ), 'up' => array ( 0 => 'language.enumerations.php', 1 => 'Enumerações', ), 'prev' => array ( 0 => 'language.enumerations.methods.php', 1 => 'Métodos de enumerações', ), 'next' => array ( 0 => 'language.enumerations.constants.php', 1 => 'Constantes de enumeração', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'language/enumerations.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
Enumerações também podem ter métodos estáticos. O uso para métodos estáticos na própria enumeração é primariamente para construtores alternativos. P. ex.:
<?php
enum Tamanho
{
case Pequeno;
case Medio;
case Grande;
public static function deComprimento(int $cm): static
{
return match(true) {
$cm < 50 => static::Pequeno,
$cm < 100 => static::Medio,
default => static::Grande,
};
}
}
?>
Métodos estáticos podem ser públicos, privados, ou protegidos apesar dos privados e protegidos são equivalentes na prática, pois herança não é permitida.