Conceitos Básicos de Orientação a Objetos — Parte 1

Se você está entrando agora no mundo de OO (orientação a objetos), seguem alguns conceitos básicos que você deve saber:

  • Abstração Capacidade de nos importar somente com aspectos relevantes em um determinado contexto.
  • Classe
    São como especificações de um objeto que tem atributos e métodos. Geralmente representam algo abstrato, como um substantivo. Por exemplo: casa, pessoa, veículo.
    Uma analogia que podemos fazer é que uma classe corresponde à planta baixa de uma casa.

Exemplo de classe Pessoa, com atributos e métodos

  • Objeto São instâncias da classe, ou seja, uma criação concreta a partir da classe.
    Se a classe representa a planta baixa de uma casa, o objeto representa a casa construída.
  • Herança Conceito que permite que uma classe herde atributos e métodos de uma classe mãe.

Criamos duas extensões da classe Pessoa. Pessoa Física e Pessoa Jurídica herdam todos os atributos e métodos de Pessoa e incluem os seus próprios. Pode-se afirmar que toda Pessoa Física é uma Pessoa, mas nem toda Pessoa é uma Pessoa Física.

Podemos dizer que Pessoa é uma superclasse ou classe mãe. Pessoa Física e Pessoa Jurídica são subclasses ou classes filhas.
Utilizando a herança, podemos evitar repetição de código, centralizando atributos e métodos em classes que fazem sentido estarem relacionadas.

  • Interface Contrato entre uma classe e o mundo exterior. Uma interface define métodos que devem ser desenvolvidos (contrato a ser seguido) para quem quiser implementá-la.
  • Encapsulamento A ideia do encapsulamento é proteger partes do código, escondendo como funcionam. Desta forma, as mudanças e manutenções futuras ficam facilitadas, pois uma determinada regra não ficará espalhada em vários lugares, mas sim encapsulada em determinado lugar.
  • Sobrescrita No exemplo da herança, tanto Pessoa Física quanto Pessoa Jurídica herdam o método pagarImposto(), mas cada tipo de pessoa paga imposto de forma diferente. Dessa forma, as subclasses podem reescrever o método para atender suas necessidades específicas.
  • Polimorfismo Capacidade de referenciar um objeto de várias formas. Usando o mesmo exemplo da herança, uma Pessoa pode ser referenciada como uma Pessoa Física ou Pessoa Jurídica. O inverso não é verdadeiro, pois toda Pessoa Jurídica é uma Pessoa, mas nem toda Pessoa é uma Pessoa Jurídica.

Gostou do texto? Continue lendo Conceitos Básicos de Orientação a Objetos — Parte 2. E clique no botão Recommend, logo abaixo.
Fazendo isso, você ajuda esta história a ser encontrada por mais pessoas. Seu comentário também é bem-vindo.

Aqui estão os links que me inspiraram e que podem lhe ajudar a descobrir um pouco mais sobre o assunto.

[Lesson: Object-Oriented Programming Concepts (The Java™ Tutorials > Learning the Java Language)
This beginner Java tutorial describes fundamentals of programming in the Java programming languagedocs.oracle.com](https://docs.oracle.com/javase/tutorial/java/concepts/ "docs.oracle.com/javase/tutorial/java/concepts")

[Introdução à Programação Orientada a Objetos em Java
Nos desenvolvimentos de sistemas, existem alguns fatores importantes como: o entendimento do código, fácil manutenção…devmedia.com.br](http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-java/26452 "devmedia.com.br/introducao-a-programacao-or..")