O documento resume conceitos fundamentais de programação orientada a objetos como Git e GitHub para controle de versão, classes, herança, polimorfismo, classes abstratas e interfaces.
4. ● Git
- Serve para controlar a versão do seu software.
- Registra as alterações no código.
- Permite recuperar versões anteriores (Linha do tempo).
- Permite o trabalho simultâneo de várias pessoas em um projeto.
6. Casos de uso
git innit - Inicia a linha do tempo.
git add - Iniciar o ponto de alteração do codigo. Ex: git add teste.html
git add . - Adiciona todas as alterações.
git commit - Manda para o repositório a alteração feita. Ex: git commit -m (descrição da
alteração).
git log - Mostra os pontos alterados.
git status - Mostra o estado das alterações feitas.
7. - git show - Mostra o último ponto na “ linha do tempo” ou determinado ponto.
- git branch (ramificação) - Você pode criar uma ramificação do seu projeto principal.
- git checkout - Sai do projeto principal e entra em uma ramificação. Para fazer ao contrário usa -se
“ git check out master ”.
- git merge - Unir ramificação e o projeto principal.
- git branch -D (+ nome) - Deletar a ramificação depois de adicionada a “ master”.
- git remote add origin (+ link) - adicionar repositório remoto.
- git push - Enviar o repositório local para o remoto (Git hub).
- git pull - Trazer do repositório remoto para o local.
- git clone (+ link) - Pegar um projeto já iniciado no repositório remoto.
8. Git Hub
- É um sistema de gerenciamento de projetos e versões de códigos.
- Seria quase como se fosse uma “rede social” para desenvolvedores.
- Permite que você trabalhe em projetos colaborativos com outros desenvolvedores de todo
mundo, planejando e acompanhando os projetos.
- Seus códigos e projetos ficam guardados em um repositório.
9. Abas do git hub:
- issues: comentários sobre algum possível defeito.
- Pull Request: Autorizar ou não alterações feita por colaboradores no seu
diretório.
- Projects: Gerenciador de projetos
- wiki: Documentação oficial
- insides: informações sobre o projeto.
- settings: configurações.
10. Orientação a objeto
- Este paradigma defende um pensamento de programação mais voltado ao
pensamento humano .
- Dominante nos dias atuais. Consiste em identificar os objetos e as
operações relevantes no mundo real .
- Aproximação dos sistemas de informação do mundo real.
- Qualquer coisa pode ser um Objeto .
- Os programadores criam objetos e os fazem interagir entre si .
- Todos os objetos possuem estado (características) e comportamento .
11. Solução de dificuldades da programação estruturada:
1. Melhor organização .
2. Escrita de menos linhas .
3. Divisão lógica do código .
4. Mais próximo da vida real - simular o mundo real.
12. Controles de acesso
PUBLIC - Se chama “público” pois está disponível para qualquer classe , todos tem
acesso aos seus atributos e métodos.
PRIVATE - Se chama “privado” pois só a classe que deu origem poderá alterá-lo em .
PROTECTED - (Default) todo atributo ou método por padrão é protected. Faz com que
o elemento seja visível somente dentro do mesmo pacote onde foi declarado.
13. Estáticos
Atributos estáticos: São atributos que são compartilhados entre as instâncias da classe.
Ex: Se você tem um programa aonde são criadas contas de bancos ( c1, c2, c3) Vai chegar uma
hora que você não vai saber qual o número da conta a ser criada. Nesse caso é possível criar um
contador estático, aonde c1 c2 c3 ( instâncias) vão compartilhar esse contador.
Métodos estáticos: Não depende de uma instância da classe para ser utilizado, pode ser
utilizado conforme nomedaclasse.método().
14. Herança
- Evita a repetição do código.facilita a manutenção do programa.
- Quando uma classe herda de outra classe ela ganha todos os atributos e
métodos da classe herdada. comando EXTENDED e depois SUPER. ( DE
SUPER CLASSE)
- Criação de Sub- classes para herdar da super classe ou “ classe mãe”.
16. Polimorfismo
- Significa “muitas formas”.
- Objetos do mesmo tipo podem agir de forma diferentes.
Exemplo: Você pode herdar um método de uma super classe como “calcularnota(), e
colocar para calcular de um jeito para o ensino fundamental e outro para o ensino médio
de acordo com a necessidade, ou seja o mesmo método de forma diferente.
17. Sobrecarga (overloading)
- Ocorre quando sobrescrevemos o método na mesma classe de declaração.
Ex: Dois métodos com o mesmo nome. Porém um precisa ter parâmetro e
outro não.
public void mensagem() { } public void
mensagem(String msg) { }
18. Sobrescrita (overriding)
- Ocorre quando sobrescrevemos métodos da “ super-classe” na sub-classe.
- Altera o comportamento da classe mas a assinatura do método deve ser o mesmo nas
duas classes.
19. Classes abstratas
- Impede a criação de objetos da classe.
- Evita que sejam criados objetos que não existem no desenvolvimento do
software.
- Serve como modelo.Super classe que não possuí instâncias.
Ex: Classe pessoa
Classe Aluno ( não existe o tipo pessoa
Classe Professor
e sim o tipo aluno e professor)
20. Interface
- São conhecidas como “ contratos”.
- Imagina que uma empresa criou um contrato “com regras” para definir a
criação de um produto ou serviço.
Ex: Maria e joão decidem fazer uma loja de bolos.É feito um contrato padrão para ser
feito um bolo. Obrigatoriamente os bolos tem recheio de chocolate, deve ter cobertura
e deve ser recheado.Essa seriam as “regras” que eles são obrigados a seguir.