KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
mentoria_GFT_QA_1_080322
★ 12
Open GitHub ↗
Mentoria GFT QA #1
Download README (.md)
Explore Similar Repositories
Townscaper-CustomBirds
:
Townscaper mod for customizing the texture of the birds, the amount of birds and play with them
ABAW3_MultiEmotionNet
:
No description available.
zHunter
:
A Python-based visualization tool for finding redshifts and manipulating astronomical spectra.
FixIFix
:
The missing tool for InjectFix.
scum-bot
:
A simply Scum portal bot manager
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
mentoria_GFT_QA_1_080322
?
Download (.md)
<h1> Mentoria: Abstraindo situações do mundo real com Orientação a Objetos </h1> <h2 align="center"> ⚠️ <a href="https://docs.google.com/presentation/d/1-1uzLfVm0IJl5mQeVG2XYTK53Rzp8kch/edit?usp=sharing&ouid=107351545544725249935&rtpof=true&sd=true"> SLIDES DA MENTORIA </a> ⚠️ </h2> O objetivo principal é colocar em prática umas das principais ferramentas da OO: <strong>ABSTRAÇÃO, ENCAPSULAMENTO, HERANÇA, COMPOSIÇÃO E POLIMORFISMO</strong> através de um projeto Java. </p> <h2>🛑 Pré-Requisitos</h2> <p> ✅ Conhecer a sintaxe da Java<br> ✅ Java JDK 8+<br> ✅ IDE para desenvolvimento Java (usarei IntelliJ)<br> </p> <h2> 🎯 Desafio</h2> <p>Modelar as entidades de uma aplicação de <strong>Gerenciamento de Colaboradores</strong> de uma loja.<br> Dentre as outras funcionalidades (as quais você não precisará implementar), esse sistema terá a funcionalidade de calcular a bonificação dos colaboradores dessa loja seguindo as seguintes regras:</p> <ul> <li>Vendedor é um Funcionário CLT e tem o benefício de bonificação.</li> <li>Operador de Caixa é um funcionário CLT, mas não tem o benefício da bonificação.</li> <li>Gerente é um Funcionário PJ e tem o benefício da bonificação.</li> </ul> <h3>Colaboradores</h3> <ol> <li>Vendedor:</li> nome, documento, salario, valor da bonificação e endereço. <li>Operador de Caixa:</li> nnome, documento, salario e endereço. <li>Gerente:</li> nome, documento, horas trabalhadas, valorHora, endereço e valor da bonificação. </ol> ---- <h2> 📚 Paradigma de Programação Orientado a Objetos (POO) </h2> <p align="center"> <img src="https://materiais.imd.ufrn.br/materialV2/assets/imagens/programacao-orientada-a-objetos/prog_orient_a_obj_01_f04_l.jpg" width="600" height="400" alt="pilares-POO"> </p> <p> A visão de Orientação a Objetos (OO) é aquela de um mundo de objetos que interagem.<br> 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.<br> A observação do mundo real compõe o princípio da ABSTRAÇÃO, sendo considerada a base da Orientação a Objetos.<br> São 4 os pilares principais do POO: ENCAPSULAMENTO, HERANÇA, COMPOSIÇÃO E POLIMORFISMO. </p> <h3>🔺 ENCAPSULAMENTO:</h3> <p>Encapsular significa esconder a implementação dos objetos. O encapsulamento favorece principalmente dois aspectos de um sistema: a manutenção e a evolução.</p> <h3>🔺 HERANÇA:</h3> <p>Permite que objetos sejam referenciados como pai e filhos, em que os objetos filhos herdam todas as características do objeto pai, mas o objeto pai nada herda do filho. Isso reduz a duplicação de código-fonte.</p> <h3> 🔺 COMPOSIÇÃO:</h3> <p>Busca representar as relações que os objetos devem ter, baseando-se nas relações que existem na vida real. Isso faz com que os objetos sejam reaproveitados, evitando duplicidade e mantendo a simplicidade.</p> <h3> 🔺 POLIMORFISMO:</h3> <p>Com o polimorfismo, podemos transformar objetos diferentes em objetos que conseguem trocar mensagem por meio da generalização de suas características.</p> <h2 align="center"> ‼️ CONCEITOS FUNDAMENTAIS POO ‼️ </h2> <h3>🔻 DOMÍNIO:</h3> 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. <h3>🔻 CLASSE: </h3> 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. <h3>🔻 ATRIBUTO: </h3> 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. <h3>🔻 VARIÁVEL: </h3> 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”. <h3>🔻 MÉTODO: </h3> Os métodos representam os estados e ações dos objetos e classes. <h3>🔻 OBJETO: </h3> 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. <h3>🔻 INSTÂNCIA: </h3> 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. ------------ <h2 align="center">📝 <a href="https://github.com/cami-la/projeto_classes_poo_youtube">Exercícios de Fixação</a></h2> <h2> 🤝 Contribuindo </h2> <p> Este repositório foi criado para fins de estudo, então contribua com ele.<br> Se te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identidique com o conteúdo, não deixe de compatilhar.<br> <br> Se possível:<br> ⭐️ Star o projeto<br> 🐛 Encontrar e relatar issues<br> </p> ------------ Disponibilizado com ♥ por [cami-la](https://www.linkedin.com/in/cami-la/ "cami-la").