Jump to content

Conhecendo os pilares da Orientação a Objetos de uma forma simplificada.


luiz.melo

Postagens Recomendadas

Sabemos que, no mundo da programação, a teoria e a prática são coisas bem diferentes. Para entendermos um pouco mais sobre a parte teórica dos pilares da orientação a objetos (OO), vamos falar sobre os 4 principais conceitos desse paradigma de programação.

 

Abstração (Exemplo: Cachorro)


De uma maneira bem resumida, a abstração é uma representação de um objeto do mundo real. Por exemplo, um cachorro. Pense em um cachorro, e como podemos abstraí-lo em uma classe do nosso sistema.
 São três pontos que devem ser levados em consideração:

  • Identidade - Devemos ter em mente qual objeto do mundo real vamos abstrair e mapear dentro do nosso sistema.
  • Propriedades - Quais são as propriedades, as características desse objeto, por exemplo no caso da classe Cachorro, onde temos “Nome”, “Raça”, “Tamanho”, “Pelagem” e outros atributos.
  • Métodos - O que a classe Cachorro deve saber fazer, por exemplo, “Latir()”, “Comer()”, “PedirCarinho()”, “TomarAgua()”.

Com esse pilar, uma classe deve expor para outras classes apenas a ideia geral de uma propriedade ou funcionalidade, sem entrar nos detalhes, e isso pode ser alcançado com o uso de interfaces.

 

Encapsulamento (Exemplo: Televisão)


O encapsulamento se trata de um dos elementos que adicionam segurança à aplicação pelo fato de esconder as propriedades, criando uma espécie de caixa preta. 

Essa atitude evita o acesso direto à propriedade da classe, adicionando uma outra camada de segurança à aplicação.
Como exemplo ao mundo real, quando clicamos no botão ligar da televisão, não precisamos saber o que está acontecendo internamente, a televisão apenas liga. Podemos então dizer que os métodos que ligam a televisão por "trás dos panos" estão encapsulados.

 

Herança (Exemplo: Família)


Nesse pilar, podemos imaginar um cenário onde, em uma família, os pais tenham os olhos azuis (propriedade da cor do olho) e seu filho, por sequência, herdou as características dos pais e nasceu também com os olhos azuis.

A herança é um recurso muito importante para o reuso de código.

Chamamos as classes que transferem comportamentos e atributos de super classes, e chamamos as classes que herdam esses comportamentos e atributos de sub classes. Por isso, super classes normalmente são definições mais genéricas de uma entidade, enquanto que as sub classes são definições mais específicas.

 

Polimorfismo (Exemplo: Mamíferos)


O polimorfismo é a “habilidade” de propriedades de classes derivadas de uma mesma super classe, responderem ao mesmo método, de formas diferentes.

Para uma abstração ao mundo real, podemos pensar no exemplo dos mamíferos, o macaco, a baleia e o homem, ambos são da mesma super classe “Mamíferos”, e ambos possuem um método "Locomover()", porém, cada um se locomove da sua forma, pulando nos galhos, andando e nadando. Podemos entender que ambos se locomovem, mas de maneiras diferentes, cada um com sua peculiaridade.

 

 

Referências:

https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264

https://blog.cod3r.com.br/pilares-de-orientacao-a-objetos/#:~:text=O paradigma orientado a objetos,%2C polimorfismo%2C encapsulamento e abstração

  • Curtir 6
  • Amei 5
Link to comment
Compartilhe em outros sites

  • 7 months later...
Em 04/08/2022 at 11:52, luiz.melo disse:

Sabemos que, no mundo da programação, a teoria e a prática são coisas bem diferentes. Para entendermos um pouco mais sobre a parte teórica dos pilares da orientação a objetos (OO), vamos falar sobre os 4 principais conceitos desse paradigma de programação.

 

Abstração (Exemplo: Cachorro)


De uma maneira bem resumida, a abstração é uma representação de um objeto do mundo real. Por exemplo, um cachorro. Pense em um cachorro, e como podemos abstraí-lo em uma classe do nosso sistema.
 São três pontos que devem ser levados em consideração:

  • Identidade - Devemos ter em mente qual objeto do mundo real vamos abstrair e mapear dentro do nosso sistema.
  • Propriedades - Quais são as propriedades, as características desse objeto, por exemplo no caso da classe Cachorro, onde temos “Nome”, “Raça”, “Tamanho”, “Pelagem” e outros atributos.
  • Métodos - O que a classe Cachorro deve saber fazer, por exemplo, “Latir()”, “Comer()”, “PedirCarinho()”, “TomarAgua()”.

Com esse pilar, uma classe deve expor para outras classes apenas a ideia geral de uma propriedade ou funcionalidade, sem entrar nos detalhes, e isso pode ser alcançado com o uso de interfaces.

 

Encapsulamento (Exemplo: Televisão)


O encapsulamento se trata de um dos elementos que adicionam segurança à aplicação pelo fato de esconder as propriedades, criando uma espécie de caixa preta. 

Essa atitude evita o acesso direto à propriedade da classe, adicionando uma outra camada de segurança à aplicação.
Como exemplo ao mundo real, quando clicamos no botão ligar da televisão, não precisamos saber o que está acontecendo internamente, a televisão apenas liga. Podemos então dizer que os métodos que ligam a televisão por "trás dos panos" estão encapsulados.

 

Herança (Exemplo: Família)


Nesse pilar, podemos imaginar um cenário onde, em uma família, os pais tenham os olhos azuis (propriedade da cor do olho) e seu filho, por sequência, herdou as características dos pais e nasceu também com os olhos azuis.

A herança é um recurso muito importante para o reuso de código.

Chamamos as classes que transferem comportamentos e atributos de super classes, e chamamos as classes que herdam esses comportamentos e atributos de sub classes. Por isso, super classes normalmente são definições mais genéricas de uma entidade, enquanto que as sub classes são definições mais específicas.

 

Polimorfismo (Exemplo: Mamíferos)


O polimorfismo é a “habilidade” de propriedades de classes derivadas de uma mesma super classe, responderem ao mesmo método, de formas diferentes.

Para uma abstração ao mundo real, podemos pensar no exemplo dos mamíferos, o macaco, a baleia e o homem, ambos são da mesma super classe “Mamíferos”, e ambos possuem um método "Locomover()", porém, cada um se locomove da sua forma, pulando nos galhos, andando e nadando. Podemos entender que ambos se locomovem, mas de maneiras diferentes, cada um com sua peculiaridade.

 

 

Referências:

https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264

https://blog.cod3r.com.br/pilares-de-orientacao-a-objetos/#:~:text=O paradigma orientado a objetos,%2C polimorfismo%2C encapsulamento e abstração

 

Link to comment
Compartilhe em outros sites

Em 12/03/2023 at 16:34, Luiz Carlos G. da Silva disse:

Postagem bem elaborada. Ficaria um tetéu de tivesse exemplos práticos. Código na veia.

Valeu e muito obrigado.

Iniciante no mundo programação.

Olá, Luiz!
Obrigado pelo comentário, irei colocar mais exemplos nos próximos posts sobre Java.

Deixarei um curso gratuito, bem interessante e didático caso tenha interesse em aprender mais sobre a linguagem:
https://www.cursoemvideo.com/curso/java-poo/

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...