1
resposta

[Sugestão] gostaria de saber se essa outra forma está correta ou perto da resolução esperada

tipoConta = $tipoConta; } public function possuitaxas(): bool{ return $this->tipoConta == TipoConta::Corrente || $this->tipoConta == TipoConta::investimento; } } $conta = new Conta(TipoConta::investimento); var_dump($conta->possuitaxas());
1 resposta

Olá, Antony.

Tudo bem?

Obrigado por compartilhar o seu código aqui. Parabéns pela dedicação. Sua implementação está bem próxima do que foi solicitado no exercício. Vou fazer algumas sugestões para que você possa ajustar e melhorar seu código:

  1. Enumeração (enum): Está correta, mas é importante manter a consistência na nomenclatura. Sugiro usar a primeira letra maiúscula para todos os casos.
  2. Classe Conta: Está quase lá! Você só precisa adicionar as propriedades saldo e nome do titular conforme solicitado no exercício.

Aqui está uma versão ajustada do seu código:

<?php

enum TipoConta {
    case Corrente;
    case Investimento;
    case Poupanca;
    case Universitaria;
}

class Conta {
    public TipoConta $tipoConta;
    public float $saldo;
    public string $nomeTitular;

    public function __construct(string $nomeTitular, float $saldo, TipoConta $tipoConta) {
        $this->nomeTitular = $nomeTitular;
        $this->saldo = $saldo;
        $this->tipoConta = $tipoConta;
    }

    public function possuiTaxas(): bool {
        return $this->tipoConta == TipoConta::Corrente || $this->tipoConta == TipoConta::Investimento;
    }
}

// Exemplo de uso
$conta = new Conta("Antony", 1000.0, TipoConta::Investimento);
var_dump($conta->possuiTaxas());
?>

Alterações feitas:

  1. Ajustei os nomes das enumerações para manter a consistência.
  2. Adicionei as propriedades saldo e nomeTitular na classe Conta.
  3. Atualizei o construtor da classe Conta para receber nomeTitular e saldo.

Espero ter ajudado e bons estudos!