Skip to content

Instantly share code, notes, and snippets.

@cami-la
Last active April 23, 2024 09:23
Show Gist options
  • Save cami-la/bb48f2280457ec7a3780302f1038836c to your computer and use it in GitHub Desktop.
Save cami-la/bb48f2280457ec7a3780302f1038836c to your computer and use it in GitHub Desktop.
Resumo Sobre o Paradigma de Programação Orientado a Objetos

📚 Paradigma de Programação Orientado a Objetos (POO)

✨ LINGUAGEM DE PROGRAMAÇÃO

É uma linguagem formal que, através de uma série de instruções, permite que um programador escreva um conjunto de ordens, ações consecutivas, dados e algoritmos para criar programas que controlam o comportamento físico e lógico de uma máquina.

✨ LIGUAGEM DE PROGRAMAÇÃO JAVA

  • Java é uma linguagem de programação orientada a objetos desenvolvida na empresa Sun Microsystems e posteriormente adquirida pela Oracle em 2008.
  • Tornou-se popular pelo seu uso na internet e está presente em navegadores, programas e jogos de computador, celular, calculadoras, etc...

✨ PARADIGMA DE LINGUAGEM DE PROGRAMAÇÃO

É um conjunto de características que podem ser utilizados para categorizar determinado grupo de linguagens. Um paradigma pode oferecer técnicas apropriadas para uma aplicação específica.

Se tratando da Orientação a Objetos (OO) temos a visão de um mundo de objetos que interagem.
Este paradigma é um modelo de análise, projeto e programação baseado na aproximação entre o mundo real e o mundo virtual, através da criação e interação entre classes, atributos, métodos, objetos, entre outros.

jokenpo-monica-rachel
São 4 os pilares principais do POO: ABSTRAÇÃO, ENCAPSULAMENTO, HERANÇA E POLIMORFISMO.

🔺 ABSTRAÇÃO:

Habilidade de concentrar-se nos aspectos essenciais de um domínio, ignorando características menos importantes ou acidentais. Nesse contexto, objetos são abstrações de entidades existentes no domínio em questão.

🔺 ENCAPSULAMENTO:

Encapsular significa esconder a implementação dos objetos. O encapsulamento favorece principalmente dois aspectos de um sistema: a manutenção e a evolução.

🔺 HERANÇA:

Permite que você defina uma classe filha que reutiliza (herda), estende ou modifica o comportamento de uma classe pai. A classe cujos membros são herdados é chamada de classe base. A classe que herda os membros da classe base é chamada de classe derivada.

🔺 POLIMORFISMO:

Capacidade de um objeto poder ser referenciado de várias formas. Cuidado, polimorfismo não quer dizer que o objeto fica se transformando, muito pelo contrário, um objeto nasce de um tipo e morre daquele tipo, o que pode mudar é a maneira como nos referimos a ele. A capacidade de tratar objetos criados a partir das classes específicas como objetos de uma classe genérica é chamada de polimorfismo.


‼️ CONCEITOS FUNDAMENTAIS POO ‼️

🔻 DOMÍNIO:

Domínio da aplicação, também conhecida como camada de negócio ou de objetos de negócio, é aquela onde estão localizadas as classes que fazem parte do domínio do problema, ou seja, classes correspondentes a objetos que fazem parte da descrição do problema.

🔻 CLASSE:

Um elemento do código que tem a função de representar objetos do mundo real. Dentro dela é comum declararmos atributos e métodos, que representam, respectivamente, as características e comportamentos desse objeto.

🔻 ATRIBUTO:

Atributos são, basicamente, a estrutura de dados que vai representar a classe. Os atributos também são conhecidos como VARIÁVEL DE CLASSE, e podem ser divididos em dois tipos básicos: atributos de instância e de classe.

🔻 VARIÁVEL:

Uma “região de memória (do computador) previamente identificada cuja finalidade é armazenar os dados ou informações de um programa por um determinado espaço de tempo”.

🔻 MÉTODO:

Os métodos representam os estados e ações dos objetos e classes.

🔻 OBJETO:

Em POO, objeto é um "molde" de uma determinada classe, que passa a existir a partir de uma instância da classe. A classe define o comportamento do objeto, usando atributos (propriedades) e métodos (ações). Objeto em ciência da computação, é uma referência a um local da memória que possui um valor. Um objeto pode ser uma variável, função, ou estrutura de dados.

🔻 INSTÂNCIA:

Uma instância de uma classe é um novo objeto criado dessa classe, com o operador new. Instanciar uma classe é criar um novo objeto do mesmo tipo dessa classe. Uma classe somente poderá ser utilizada após ser instanciada.


👬 Contribuindo

Este repositório foi criado para fins de estudo, então contribua com ele.
Se te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identifique com o conteúdo, não deixe de compartilhar.

Se possível:

⭐️ Star neste Gist

👩‍💻 Autor


Camila Cavalcante

Feito com ❤️ por Cami-la 👋🏽 Entre em contato!

Linkedin Badge Gmail Badge

@Renatodavid
Copy link

obrigado pelos ensinamentos!!!

@cami-la
Copy link
Author

cami-la commented Sep 28, 2022

Por nada, @Renatodavid . Eu quem agradeço a atenção. Se tiver alguma dúvida, é só falar que a gente vai se ajudando. (:

@FabianoAlcantarabr
Copy link

Obrigado pela aula de hoje, estou gostando muito e parabéns pela didática e conhecimento passado.

@cami-la
Copy link
Author

cami-la commented Sep 29, 2022

@FabianoAlcantarabr Obrigada pelo feeback. <3 Fico feliz em ter ajudado! Fico à disposição.

@1josuejunior
Copy link

Show de bola, Camila! Muito obrigado pelo conteúdo e feliz em saber que és da maravilhosa terra dos altos coqueiros!

@cami-la
Copy link
Author

cami-la commented Sep 29, 2022

Isso aí, @1josuejunior. Eu quem agradeço a atenção. Vamos juntos!

@WebDevPro-Curitiba-Pr
Copy link

Ola Camila! Nao consigo encontrar os cursos que vc disponibilizou pra quem esta desenvolvendo a aplicaçao do ifood. Aquele curso de desenvolvimento de software moderno etc.. acho que foi isso que vi por la. Poderia me ajudar?

@hslodev
Copy link

hslodev commented Sep 30, 2022

Excelente conteúdo !!!

@cami-la
Copy link
Author

cami-la commented Oct 1, 2022

@WebDevPro-Curitiba-Pr Oiee. (:
Está aqui nos slides que indiquei no README https://github.com/cami-la/sacola-api_IFOOD_DEV_WEEK
E também no primeiro módulo do Bootcamp https://web.dio.me/track/potencia-tech-powered-ifood-java-beginners

@cami-la
Copy link
Author

cami-la commented Oct 1, 2022

Excelente conteúdo !!!

Obrigada! <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment