1
resposta

Como eu poderia melhorar esse codigo em O.O? criando uma lista?

//Garfield
  String nome1 = "Garfield";
  double peso1 = 6.5; //kg
  String cores1 = "Laranja";
  int idade1 = 4;
  bool isFofo1;

//Artemis
  String nome2 = "Artemis";
  double peso2 = 3.150;
  String cores2 = "Branca";
  int idade2 = 5;
  bool isFofo2;

//Jiraya
  String nome3 = "Jiraya";
  double peso3 = 3.3;
  String cores3 = "Preto e Amarelo";
  int idade3 = 6;
  bool isFofo3;

No exercicio diz que da para melhorar com oriantação a objeto, eu gostaria de um demostração, notadamente que no exercicio não tem o exemplo de como seria.

1 resposta

Olá, Eliezer! Tudo bem?

Para melhorar esse código usando Orientação a Objetos você pode usar o conceito de classe e objeto, criando uma classe chamada Gato e usando ela para instanciar os objetos dela (nesse caso, os gatinhos Garfield, Artemis E Jiraya).

Fiz o exemplo para você visualizar melhor:

class Gato {
  String nome;
  double peso;
  String cores;
  int idade;
  bool isFofo;

  Gato({
    required this.nome,
    required this.peso,
    required this.cores,
    required this.idade,
    required this.isFofo
    });
}

Nessa classe Gato, estamos usando as mesmas variáveis do código anterior e recebemos elas por parâmetro através do nosso construtor, sendo os parâmetros do tipo nomeados (pois usamos o as chaves {}) e obrigatórios (pois usamos o modificador required).

E agora, com a nossa classe feita, basta instanciarmos os objetos dela na main, veja só:

void main() {
  Gato garfield = Gato(
      nome: "Garfield", peso: 6.5, cores: "Laranja", idade: 4, isFofo: true);

  Gato artemis = Gato(
      nome: "Artemis", peso: 3.150, cores: "Branca", idade: 5, isFofo: true);

  Gato jiraya = Gato(
      nome: "Jiraya",
      peso: 3.3,
      cores: "Preto e Amarelo",
      idade: 6,
      isFofo: true);
}

Dessa maneira, utilizando os conceitos de OO, você consegue deixar seu código bem melhor.

Espero que tenha te ajudado de alguma forma, se tiver ficado alguma dúvida fique a vontade para perguntar. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓

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