Buscar

Quais sao os pilares da POO? Para que servem?

💡 5 Respostas

User badge image

Alfredo Justiniano Paes

POO tem 4 pilares fundamentais que são: Abstração, Encapsulamento, Herança, Polimorfismo. Com a Abstração nós escondemos os detalhes e o complexidade e expomos apenas o essencial, desta forma nós reduzimos a complexidade e reduzimos o impacto das mudanças feitas no código.

redução da complexidade + redução do impacto das mudanças.

Usando Encapsulamento nós agrupamos propriedades e métodos relacionados e desta forma nós reduzimos a complexidade e podemos reutilizar esses objetos em outras partes do nosso projeto aumentando a reusabilidade.redução da complexidade + aumento da reusabilidade

Com a Herança nós eliminamos repetição de código.

eliminação de repetição de código

Usando Polimorfismo nós podemos remover if/switch statements.

remoção de código desnecessários


1
Dislike0
User badge image

Eduardo Aquino

A maior parte da literatura disponível cita quatro, os três que são mais ou menos universais são:

Herança

É a capacidade de um objeto ser idealizado baseado em outro objeto.

Polimorfismo

É a capacidade de um objeto se passar por outro em determinada circunstância, desde que eles sejam compatíveis.

Encapsulamento

É a capacidade do objeto juntar tudo em uma coisa só, em geral acaba por ocultar os detalhes de implementação expondo só o que deve ser acessado publicamente, mas estritamente falando isto é abstração.

A maioria ainda aceita a abstração que é a capacidade de expressar algo em termos gerais, sem uma especificidade, isolado do que não importa naquele contexto. Nem todos concordam com isso porque parece ser apenas a soma do encapsulamento e do polimorfismo.


Fonte: https://pt.stackoverflow.com/questions/215679/quais-s%C3%A3o-os-pilares-da-programa%C3%A7%C3%A3o-orientada-%C3%A0-objetos

0
Dislike0
User badge image

Welington Lima

  • Abstração
  • Encapsulamento
  • Herança
  • Polimorfismo


Abstração

Abstração significa "esconder" partes da implementação do objeto expondo apenas uma interface simples para seu uso. Pense por exemplo num forno de micro-ondas, você não precisa entender toda a complexidade de como os componentes internos trabalham para gerar as ondas e produzir calor, você quer apenas apertar um ou dois botões e ter uma refeição quente pra comer. Toda essa complexidade são detalhes de implementação, você não precisa conhecê-los.

Da mesma forma seu objeto deve ter uma interface simples e amigável, deixando suas partes complexas ou detalhes de implementação protegidos do mundo exterior. Assim mudanças feitas internamente no nível da implementação não irão afetar sua interface pública e aqueles que utilizarem o objeto.

Encapsulamento

Encapsulamento se refere à construção do objeto de modo a proteger o acesso direto a seus dados internos. Ao encapsularmos um objeto estamos agrupando propriedades e métodos que estão diretamente relacionados dentro de um mesmo objeto, permitindo que essas propriedades sejam acessadas apenas através de métodos públicos. Desta forma tratamos de questões importantes como segurança e confiabilidade do estado do objeto.

Herança

A Herança é uma forma de eliminar repetição de código onde, como o próprio nome sugere, um objeto pode herdar características (ou seja, propriedades e métodos) de outra classe, sem a necessidade de se reescrever essas mesmas características.

Para um exemplo prático, pense nos objetos clt e estagiario. O objeto clt poderia ter métodos exclusívos como calculo_de_13 e fgts, mas ambos compartilhariam propriedades como salario e data_de_inicio, e métodos como receber_salario ou calcular_ferias e não faria sentido implementar essas mesmas propriedades e métodos em ambas as classes, mas sim inserir essas características em uma classe pai como por exemplo funcionario.

Polimorfismo

Poli significa muitas e Morphos significa forma, então Polimorfismo significa muitas formas. Em POO Polimorfismo é caracterizado quando duas ou mais classes possuem métodos com o mesmo nome, mas podendo ter implementações diferentes. Assim, é possível utilizar qualquer objeto que implemente o mesmo método sem nos preocuparmos com o tipo do objeto. Na prática isso nos possibilita remover do nosso código diversos if statements ou switch cases



0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais