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

Dividindo Codigo

Salve pessoal vou dividir aqui com vcs o meu codigo que simula uma programa para cadastrar dono e pet para uma clinica veterinaria para praticar um java.lang

Classe do resposnavel não permite nome invalido, retirar qualquer espaço escrito sem querer e deixa o nome com letras maiuscula, também não deixa o telefone ser menor que 11 digitos e no cadastro ele coloca os () no ddd.


public class Responsavel {

    private String Nome;
    private String telefone;
    private String endereço;
    private String email;
    public String getNome() {
        return Nome;
    }
    public void setNome(String nome) {
        if(nome.isBlank()) {
            System.out.println("Nome não pode ser invalido");
        }
        nome = nome.trim();
        Nome = nome.toUpperCase();
    }

    public String getTelefone() {
        return telefone;
    }
    public void setTelefone(String telefone) {
        if(telefone.length()< 11) {
            System.out.println("Seu telefone precisa ter ddd + telefone");
        }else {
            StringBuilder ddd = new StringBuilder(telefone);
            ddd.insert(0, "(");
            ddd.insert(3, ")");
            this.telefone = ddd.toString();
        }

    }
    public String getEndereço() {
        return endereço;
    }
    public void setEndereço(String endereço) {
        this.endereço = endereço;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }

}

Essa é a classe do animal, não deixa o nome ser invalido e ainda se caso a primaira letra for diditada minuscula corrige para letra maiuscula.



public abstract class Animal {

    private int idade;
    private String nome;
    private String procedimento;
    private boolean vacinado = false;



    public boolean isVacinado() {
        return vacinado;
    }
    public void setVacinado(boolean vacinado) {
        this.vacinado = vacinado;
    }
    public int getIdade() {
        return idade;
    }
    public void setIdade(int idade) {
        this.idade = idade;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        nome = nome.trim();    
        if(nome.isEmpty()) {
            System.out.println("Nome não pode estar invalido");
        }
        StringBuilder first = new StringBuilder(nome);
        String minusculo = first.substring(0, 1);
        this.nome = nome.replace(minusculo, minusculo.toUpperCase());
    }
    public String getProcedimento() {
        return procedimento;
    }
    public void setProcedimento(String procedimento) {
        this.procedimento = procedimento;
    }


}

class para representar gato

public class Gatos extends Animal{



}

class para representar cachorro

public class Cachorro extends Animal{

}

Class para criar ficha

public class FichaCadastral {


    Responsavel responsavel = new Responsavel();
    Gatos gatos = new Gatos();
    Cachorro cachorro = new Cachorro();

}

Class com alguns testes

public class Teste  {
    public static void main(String[] args) {

        FichaCadastral Cliente01 =  new FichaCadastral();

        Cliente01.responsavel.setNome(" Fernando ");
        Cliente01.responsavel.setTelefone("16999550470");
        Cliente01.responsavel.setEndereço("Rua: Nair Barbosa Pinheiro, 415");
        Cliente01.cachorro.setNome("billy");

        System.out.println(Cliente01.responsavel.getNome());
        System.out.println(Cliente01.responsavel.getTelefone());
        System.out.println(Cliente01.cachorro.getNome());

    }
}
1 resposta
solução!

Oie Fernando, tudo bem contigo?

Ficou muito legal seu código, você usou a herança de maneira correta e suas classes ficaram bem encapsuladas, você ainda usou corretamente os métodos getters e setters. Pelo que puder ver não foi criado nenhum método "inutil", todos parecem ser importante e terão algum uso. Depois na classe "Teste", recomendo você terminar de testar todos os métodos para ver se todos os estão funcionando da maneira esperada.

Fico feliz que tenha compartilhado seu código aqui com a gente, se precisar de qualquer ajuda é só mandar por aqui :)

Bons estudos!