O que é Poo?

No mundo da programação, existem muitas formas de se programar, elas são chamadas de paradigmas de programação. Entre elas estão programação orientada a objeto, ou POO. objetivo da criação do POO foi principalmente de aproximar o manuseio das estruturas de um programa ao manuseio das coisas do mundo real (objeto). Esse paradigma se baseia em dois conceitos chaves: classes e objetos.

Herança

A herança é um princípio da POO que permite a criação de novas classes a partir de outras previamente criadas. Essas novas classes são chamadas de subclasses, ou classes derivadas; e as classes já existentes, que deram origem às subclasses, são chamadas de superclasses, ou classes base. Deste modo é possível criar uma hierarquia dessas classes, tornando, assim, classes mais amplas e classes mais específicas. Uma subclasse herda métodos e atributos de sua superclasse; apesar disso, pode escrevê-los novamente para uma forma mais específica de representar o comportamento do método herdado.

 

Ex: Temos as classes Funcionario e Coordenador que possuem o atributo nome e matrícula em comum.

×

Polimorfismo

Quando trabalhamos com herança e dizemos que uma subclasse PessoaFisica e PessoaJuridica são filhas da super classe Pessoa, podemos então dizer que um PessoaFisica É UMA Pessoa e PessoaJuridica É UMA Pessoa, justamente por ser uma extensão ou tipo mais especificado deste

 
×

Quando trabalhamos com uma variável do tipo Pessoa que é uma super classe, podemos fazer está variável receber um objeto do tipo PessoaFisica ou PessoaJuridica, por exemplo:

Com isso, podemos dizer que polimorfismo é a capacidade de um objeto ser referenciado de diversas formas diferentes e com isso realizar as mesmas tarefas (ou chamadas de métodos) de diferentes formas. Um exemplo do uso do polimorfismo utilizando a classe Pessoa, seria todas as subclasses sobrescreverem o método public String getNome().

×

Existe dois tipos de polimorfismo:

  • Polimorfismo Estático ou Sobrecarga: O Polimorfismo Estático se dá quando temos a mesma operação implementada várias vezes na mesma classe.
  • Polimorfismo Dinâmico ou Sobreposição: O Polimorfismo Dinâmico acontece na herança, quando a subclasse sobrepõe o método original.
  • Encapsulamento

    Os objetos são utilizados para representas as entidades do mundo real e encapsulam os dados relacionados a esses elementos. A técnica facilita a realização de testes unitários, pois permite testar o comportamento dos objetos isoladamente, sem depender de outros objetos ou de partes do sistema. Sem contar que pode ser usada para proteger dados e métodos de uma classe de acesso indevido, impedindo a violação de informações confidenciais.

  • private - os atributos e os métodos marcados como “private” só podem ser acessados dentro da propria classe que foram declarados;
  • protected - os atributos e os métodos marcados como "protected" podem ser acessados dentro da própria classe edas subclases;
  • public - os atributos e os métodos marcados como "public" podem ser acessados por qualquer classe.
  • Em um processo de encapsulamento os atributos das classes são do tipo private. Para acessar esses tipos de modificadores, é necessário criar métodos setters e getters. Por entendimento os métodos setters servem para alterar a informação de uma propriedade de um objeto. E os métodos getters para retornar o valor dessa propriedade.

    ×