Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Verificação do professor na orientçaõ a objeto de PHP

Abstrai uma parte do código mas nos 4 metodos criados ele definiu que o valor que sera recebido seria inteiro assim como retornar inteiro e não uma string, no caso de genero e nome, ou eu estou louco de tanto php?

nome; } public function defineNome(int $nome): void { $this->nome = $nome; } public function genero(): int { return $this->genero; } public function defineGenero(int $genero): void { $this->genero = $genero; } }
1 resposta
solução!

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!