Orientação a Objetos - OO ou OOP

Atividade Assíncrona

Orientação a Objetos

Entendendo OO ou OOP com um exemplo prático aplicado à agricultura

O que é Orientação a Objetos?

A orientação a objetos, também chamada de OO ou OOP em inglês, é um paradigma de programação, ou seja, uma forma de organizar e construir programas.

Nesse modelo, o programa é organizado a partir de objetos. Esses objetos representam elementos do mundo real ou elementos importantes para o sistema, como aluno, professor, produto, carro, animal, jogo, planta, milho ou soja.

Cada objeto possui características, chamadas de atributos, e também pode realizar ações, chamadas de métodos.

Classe e Objeto

Na orientação a objetos, uma classe funciona como um modelo ou molde. O objeto é algo criado a partir desse modelo.

Podemos comparar a classe com uma forma de bolo. A forma define o modelo, mas cada bolo feito a partir dela pode ter características diferentes.

Classe

É o modelo usado para criar objetos.

Exemplo: Aluno

Objeto

É um elemento criado a partir da classe.

Exemplo: Maria, João ou Ana

Atributos

São as características do objeto.

Exemplo: nome, idade e turma

Métodos

São as ações que o objeto pode realizar.

Exemplo: estudar() ou apresentar()

Exemplo aplicado à agricultura

Imagine um sistema que guarda informações sobre culturas agrícolas, como Milho e Soja. Nesse caso, podemos ter uma classe chamada Cultura.

Atributos da classe Cultura

Método possível

Um método possível seria apresentar(), que teria a função de mostrar as informações da cultura na tela.

Exemplo de arquivo JSON: culturas.json

O arquivo JSON não é uma classe. Ele funciona como uma base de dados simples, onde ficam guardadas as informações dos objetos.

[
  {
    "cultura": "Milho",
    "descricao": "O milho é uma das culturas mais produzidas no Brasil.",
    "climaIdeal": "Temperaturas entre 20°C e 30°C.",
    "soloRecomendado": "Solos profundos, férteis e bem drenados.",
    "epocaPlantio": "Início do período chuvoso ou segunda safra.",
    "dicasManejo": [
      "Fazer análise do solo.",
      "Usar sementes certificadas.",
      "Controlar plantas daninhas."
    ]
  },
  {
    "cultura": "Soja",
    "descricao": "A soja é uma cultura de grande importância econômica no Brasil.",
    "climaIdeal": "Temperaturas entre 20°C e 30°C.",
    "soloRecomendado": "Solos férteis, bem drenados e corrigidos.",
    "epocaPlantio": "Varia conforme a região e o calendário agrícola.",
    "dicasManejo": [
      "Utilizar sementes certificadas.",
      "Fazer análise do solo.",
      "Realizar rotação de culturas."
    ]
  }
]

Exemplo de classe em JavaScript

Agora veja como essas informações poderiam ser organizadas em uma classe usando JavaScript.

class Cultura {
  constructor(cultura, descricao, climaIdeal, soloRecomendado, epocaPlantio) {
    this.cultura = cultura;
    this.descricao = descricao;
    this.climaIdeal = climaIdeal;
    this.soloRecomendado = soloRecomendado;
    this.epocaPlantio = epocaPlantio;
  }

  apresentar() {
    return "Cultura: " + this.cultura + "\n" +
           "Descrição: " + this.descricao + "\n" +
           "Clima ideal: " + this.climaIdeal + "\n" +
           "Solo recomendado: " + this.soloRecomendado + "\n" +
           "Época de plantio: " + this.epocaPlantio;
  }
}

const milho = new Cultura(
  "Milho",
  "O milho é uma das culturas mais produzidas no Brasil.",
  "Temperaturas entre 20°C e 30°C.",
  "Solos profundos, férteis e bem drenados.",
  "Início do período chuvoso ou segunda safra."
);

console.log(milho.apresentar());

Explicando o exemplo

O arquivo culturas.json guarda os dados sobre as culturas. Já a classe Cultura, criada em JavaScript, organiza esses dados e permite que o programa trabalhe com eles de forma mais estruturada.

Exercício

Com base no exemplo, escolha um tema e crie uma ideia de classe com pelo menos dois objetos.

Você pode escolher temas como: culturas agrícolas, animais, personagens, produtos, alunos, carros, jogos ou plantas.