image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Lucas Pereira
Lucas Pereira09/01/2024 08:40
Compartilhe

O que é Programação Orientada a Objetos (POO) e para que serve?

  • #POO

A programação orientada a objetos (POO) é um núcleo da programação Java, na qual é usada para projetar um programa usando classes e objetos. POO também podem ser caracterizados como controle de dados para acesso ao código. Nesta abordagem, os programadores definem o tipo de dados (atributos) de uma estrutura de dados e os comportamentos(métodos) que serão aplicadas à estrutura de dados.

A POO organiza um programa em esquemas básicos e reutilizáveis de código chamados de classes. Essas classes são então usadas e reutilizadas para criar objetos novos e exclusivos com funções semelhantes. Principios essenciais da POO são: abstração; Classes e objetos; Atributos, Métodos e Mensagens; Herança e Associação; Encapsulamento; Polimorfismo; Interfaces.


Classes

Classes são tipos de dados (estruturas) definidos pelo usuário para serem usados como modelo para criar objetos, contendo atributos e métodos individuais. Atributos são definidos na declaração de uma classe e representam uma propriedade ou característica de um objeto. Todos os dados do objeto são armazenados em atributos. Enquanto o atributo define as caracteristicas de uma classe, os métodos definem o comportamento dela. São exemplos de comportamento: realizar alguma atividade dentro da própria classe; modificar o valor de algum atributo; obter o valor de algum atributo; ativar métodos em outros objetos.

Como exemplo didatico, podemos atribuir o cão/cachorro como uma classe, que é um molde para cada cachorro (objeto) criado/definido pelo usuário. Todo cachorro possui certas propriedades como, por exemplo, raça e cor. Os cachorros também apresentam certos tipos de comportamentos como latir e correr. Abaixo contém uma classe  cachorro  definida com as propriedades e métodos citados acima:

image

Objetos

Objetos são os resultados obtidos a partir de uma classe, ou simplesmente instâncias de uma classe. Na maioria das vezes representa uma entidade do mundo real e contém dados e comportamentos. Na imagem abaixo criamos um objeto chamado meuCachorro com suas propriedades e em seguida chamamos seus métodos:


image

Encapsulamento

Encapsular signifca separar o programa em partes, em cápsulas autocontidas, tornando-o mais flexível. Desta forma: promove-se a reutilização do código e a segurança; o programa se torna mais fácil de modificar e de dar manutenção.


Herança

Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base, ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (atributos e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela. Em outras palavras, uma classe herda atributos e métodos de outra classe.


Polimorfismo

O polimorfismo refere-se à capacidade de objetos de diferentes classes serem tratados de maneira uniforme, proporcionando flexibilidade e reutilização de código. . Esse mecanismo é fundamental na programação orientada a objetos, permitindo definir funcionalidades que operem genericamente com objetos, abstraindo-se de seus detalhes particulares quando esses não forem necessários. Existem dois tipos principais de polimorfismo: polimorfismo de sobrecarga e polimorfismo de sobrescrita.

polimorfismo de sobrecarga (overloading) ocorre quando duas ou mais funções em uma mesma classe têm o mesmo nome, mas diferentes listas de parâmetros. O compilador ou interpretador escolhe a função correta com base nos parâmetros fornecidos durante a chamada. Na imagem abaixo a classe calculadora tem dois métodos "somar", um para inteiros e outro para numeros de pontos flutuantes.


image


polimorfismo de sobrescrita (override) ocorre quando uma classe derivada (subclasse) fornece uma implementação específica para um método que já está definido em sua classe base (superclasse). Isso permite que objetos da subclasse sejam usados no lugar de objetos da superclasse. Na imagem abaixo, as classes "Cachorro" e "Gato" sobrescrevem o método "fazerSom" da classe base "Animal". Isso permite chamar "fazerSom" em uma instância de "Animal" e obter o comportamento específico da subclasse.


image

Compartilhe
Comentários (3)
Linda Silva
Linda Silva - 09/01/2024 13:30

Muito obrigado!❤️❤️❤️❤️

Marcus Daniel
Marcus Daniel - 09/01/2024 11:05

Muito bom!

Marcio Herrero
Marcio Herrero - 09/01/2024 09:05

Muito bom o artigo parabéns!

Só complementando, o termo polimorfismo de sobrecarga é denominado como polimorfismo estático e

o polimorfismo de sobrescrita é denominado como polimorfismo dinâmico.

Abraços!