3
respostas

Nao consigo chamar o m;etodo EhMaiorDeIdade da classe cliente na classe Conta

class Cliente
    {
        public string nome;
        public string cpf;
        public string rg;
        public string endereco;
        public int idade;

        public bool EhMaiorDeIdade()
        {
           return this.idade >= 18;
        }


class Conta
    {
        public int numero;
        public Cliente titular;
        public double saldo;
        public string cpf;
        public int agencia;

        public void Saca(double valor)
        {
            if (valor <= this.saldo && valor > 0)
            {
                if(this.EhMaiorDeIdade())
                {

                }

Para validar o saque no caso de que o cliente seja menor de idade com um maximo de 200 reais, quero colocar um if dentro do outro if. Se o valor a ser sacado é menor ou igual ao saldo da conta e eh maior que 0, somente entao validarei se o cliente é menor ou nao de idade e nesse momento quero usar o this.EhMaiorDeIdade() e nao deixa...

3 respostas

Boa noite Janile, vc tem que verificar se o cliente da conta é maior de idade. Vc deverá utilizar o método EhMaiorDeIdade da classe cliente, que no caso está na propriedade titular( que é do tipo Cliente) da classe Conta, então tem q substituir this.EhMaiorDeIdade() por this.titular.EhMaiorDeIdadade()

Mas o método EhMaiorDeIdade é publico nao posso invoca-lo desde outra classe?

Bom dia Janile, mas o método EhMaiorDeIdade é publico na classe cliente, ou seja, ele pertence a classe cliente, já na classe conta, vc consegue acessa-lo através da propriedade titular, que é instanciado como cliente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software