DEV Community

Maurilo Santos
Maurilo Santos

Posted on • Updated on

Programação Orientada a Objetos Easy

Sabemos que Programação Orientada a Objetos (POO) é um Paradigma de Programação que ajuda a definir a estrutura de programas de computadores, baseado nos conceitos do mundo real, sejam eles Reais ou Abstratos. A ideia é simular as coisas que existem e acontecem no mundo real no mundo virtual. Coloquei alguns memes que gosto, aproveitem o meme artigo!

Image description

Objetos

Em programação (e, de certa forma também na vida real), um objeto é uma entidade caracterizada por um conjunto de operações e um estado, caracterizados por funções (chamados de Métodos) e campos (chamados de Atributos), podendo ainda ser compostos por outros Objetos (os Atributos podem ser Objetos de outras Classes).

Todo o Objeto portanto possui 3 características fundamentais: Identidade (nome), Estado (propriedades ou atributos) e Comportamento (ações ou métodos).

Image description

Classes

Uma classe pode ser considerada como um "molde" de um Objeto, sendo uma descrição de como um objeto pode ser criado pois criamos objetos a partir de classes. Uma classe é a definição padrão do objeto. Toda classe tem um Nome (tipo), Atributos (propriedades, dados) e Comportamentos(métodos).

Image description

Abstração

Na abstração pensamos nas qualidades essenciais de uma coisa ao invés de um exemplo específico, descartando tudo que é irrelevante. Faça-se a pergunta: O que posso descartar nessa Classe, para esse código ou app seja suficiente agora? Isso é abstração, pegar o essencial e deixando as representações potenciais e úteis.

Encapsulamento

A ideia é que uma classe deve manter os seus atributos internos protegidos de outros objetos, provendo quando necessário acesso a eles através de métodos específicos.
Não se trata de manter o seu código secreto, trata-se de reduzir as dependências de diferentes partes do aplicativo, evitando efeito dominó e exigindo várias outras alterações.

Herança

Ele permite que uma classe herde atributos e comportamentos de outra classe, criando uma relação de hierarquia entre elas. A classe que herda é chamada de subclasse ou classe derivada, enquanto a classe que é herdada é chamada de superclasse ou classe base. A subclasse pode adicionar novos atributos e comportamentos, ou sobrescrever os que foram herdados da superclasse, permitindo a criação de classes mais especializadas sem precisar reescrever todo o código. A herança é uma técnica poderosa para reutilizar código e criar hierarquias de classes bem organizadas e flexíveis.

Image description

Polimorfismo

Ele permite que objetos de diferentes classes sejam tratados de maneira uniforme, ou seja, que um mesmo método possa ser utilizado em diferentes objetos, independentemente de sua classe específica. Isso é possível porque cada objeto, apesar de ter sua própria classe, compartilha um conjunto de métodos e atributos comuns a todas as classes da hierarquia.

Image description

Até a próxima!

Top comments (0)