Olá, Leonardo. Tudo bem?
Boa observação.
No seu código, os métodos nome()
e genero()
estão definidos para retornar um int
, mas os atributos correspondentes são do tipo string
. Isso pode causar problemas, pois o tipo de retorno dos métodos não coincide com o tipo dos atributos.
Aqui está uma sugestão de como você pode ajustar o código para que ele funcione corretamente:
class Filme {
private string $nome = 'Nome padrão';
private int $anoLancamento = 2024;
private string $genero = 'ação';
public function nome(): string
{
return $this->nome;
}
public function defineNome(string $nome): void
{
$this->nome = $nome;
}
public function genero(): string
{
return $this->genero;
}
public function defineGenero(string $genero): void
{
$this->genero = $genero;
}
}
Com essas alterações, os métodos nome()
e genero()
agora retornam string
, que é o tipo correto para os atributos nome
e genero
. Além disso, os métodos defineNome()
e defineGenero()
agora aceitam parâmetros do tipo string
, o que faz mais sentido para esses atributos.
Espero ter ajudado.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!