Skip to content

LuciLopes/desafio-dio-POO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

desafio-dio-POO Abstraindo um bootcamp usando O O em java

Paradigma de Programação Orientado a Objetos (POO) A visão de Orientação a Objetos (OO) é aquela 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. 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.

🧮 Linguagem de Programação vs Paradigma de Linguagem de Programação ✨ 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. Seguem alguns exemplos de como as linguagens de programação podem ser classificadas:

🔺 Nível de abstração: Baixo Nível: Assembly Médio Nível: C, C++, D, Objective C, etc. Alto Nível: Java, C#, PHP, Javascript, etc. Altíssimo Nível: Python, Ruby, Elixir, etc.

🔺 Paradigma de programação: Programação Estruturada: C, Pascal, Ada, etc. Programação Orientada a Objetos: Java, C#, C++, Objective C, D, etc. Programação Funcional: Lisp, Scheme, Erlang, Elixir, etc.

🔺 Linguagens classificadas pela arquitetura da aplicação: Desktop: C, C++, Object Pascal, Java, etc. Web: PHP, Ruby, Javascript, Java, etc.

🔺 Tipo de execução: Linguagens compiladas: C, C++, Pascal, D, GO, etc. Linguagens Interpretadas: Python, Ruby, PHP, Javascript, etc. Linguagens Hibridas: Java, Erlang, Elixir, 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.

About

Abstraindo um bootcamp usando O O em Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages