A c e l e ra d o ra 
JAVA E ORIENTAÇÃO A OBJETOS
AGENDA 
• Motivação 
• JVM 
• OO 
• Hands On 
• Classes 
• Atributos 
• Métodos 
• Exercícios 
2
MOTIVAÇÃO 
Por que eu usaria JAVA? 
3
HISTÓRIA E PLATAFORMA 
Quais eram os maiores problemas na década de 1990? 
• ponteiros? 
• gerenciamento de memória? 
• or...
5
WRITE ONCE, RUN 
EVERYWHERE 
6
7
ESPERA AÍ! JVM? 
JVM? JRE? JDK? 
8
JVM? JRE? JDK? 
• JVM = Java Virtual Machine 
• JRE = Java Runtime Environment, ambiente de execução Java, formado pela JV...
JAVA E ORIENTAÇÃO 
A OBJETOS 
O que é orientação a objetos? 
10
O QUE É 
ORIENTAÇÃO A 
OBJETOS? 
11
ORIENTAÇÃO A OBJETOS 
• Abstração de objetos do mundo real para o mundo da 
programação 
• Orientação a Objetos vai te aju...
13
LET'S GET OUR HANDS DIRTY 
• Criar novo projeto: Banco 
• Criar nova classe: Conta 
14
O QUE SÃO CLASSES? 
15
O QUE SÃO 
ATRIBUTOS? 
16
O QUE É IMPORTANTE PARA A CLASSE CONTA? 
• Número da conta 
• Nome do dono da conta 
• Saldo 
• Limite 
17
O QUE SÃO 
MÉTODOS? 
18
QUAL O COMPORTAMENTO DA CLASSE CONTA? 
• public int saque(int quantidade) 
• public void deposita(int quantidade) 
• publi...
CUIDADO COM A 
VISIBILIDADE 
20
O QUE É IMPORTANTE PARA A CLASSE CONTA? 
• private String numero 
• private String nomeDoDono 
• private double saldo 
• p...
CUIDADO COM AS 
RESPONSABILIDADES 
22
RESPONSABILIDADES! 
• System.out.println(conta.getDono( )); ou 
• System.out.println(conta.getDono( ).getNome( )) 
! 
! 
!...
AGORA VAMOS CRIAR O DONO 
• private String nome 
! 
• public String pegaNome( ) 
24
EXERCÍCIO 1 
25
SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO 
• 1 - modele um funcionário. Ele deve ter o nome do 
funcionário (String), o...
SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO 
• Crie um método recebeAumento(double quantidade) que 
aumenta o salário do ...
EXERCÍCIO 2 
28
SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO 
• Crie uma classe Banco. O Banco tem um nome, cnpj e uma 
referência a um ar...
THANK YOU 
For questions or suggestions: 
! 
jfarah@thoughtworks.com
Próximos SlideShares
Carregando em…5
×

Java e Orientação a Objetos - Aula 1 Aceleradora

243 visualizações

Publicada em

Basic Java and Object Orientation class for Thoughtworks Brazil's Aceleradora

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
243
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Java e Orientação a Objetos - Aula 1 Aceleradora

  1. 1. A c e l e ra d o ra JAVA E ORIENTAÇÃO A OBJETOS
  2. 2. AGENDA • Motivação • JVM • OO • Hands On • Classes • Atributos • Métodos • Exercícios 2
  3. 3. MOTIVAÇÃO Por que eu usaria JAVA? 3
  4. 4. HISTÓRIA E PLATAFORMA Quais eram os maiores problemas na década de 1990? • ponteiros? • gerenciamento de memória? • organização? • falta de bibliotecas? • ter que rescrever todo o código ao mudar de sistema operacional? • custo financeiro de usar a tecnologia? 4
  5. 5. 5
  6. 6. WRITE ONCE, RUN EVERYWHERE 6
  7. 7. 7
  8. 8. ESPERA AÍ! JVM? JVM? JRE? JDK? 8
  9. 9. JVM? JRE? JDK? • JVM = Java Virtual Machine • JRE = Java Runtime Environment, ambiente de execução Java, formado pela JVM, bibliotecas, tudo que você precisa para executar uma aplicação JAVA • JDK = Java Development Kit: Nós, desenvolvedores, faremos o download do JDK do Java SE (Standard Edition). Ele é formado pela JRE somado a ferramentas, como o compilador. 9
  10. 10. JAVA E ORIENTAÇÃO A OBJETOS O que é orientação a objetos? 10
  11. 11. O QUE É ORIENTAÇÃO A OBJETOS? 11
  12. 12. ORIENTAÇÃO A OBJETOS • Abstração de objetos do mundo real para o mundo da programação • Orientação a Objetos vai te ajudar em muito em se organizar e escrever menos, além de concentrar as responsabilidades nos pontos certos, flexibilizando sua aplicação, encapsulando a lógica de negócios. 12
  13. 13. 13
  14. 14. LET'S GET OUR HANDS DIRTY • Criar novo projeto: Banco • Criar nova classe: Conta 14
  15. 15. O QUE SÃO CLASSES? 15
  16. 16. O QUE SÃO ATRIBUTOS? 16
  17. 17. O QUE É IMPORTANTE PARA A CLASSE CONTA? • Número da conta • Nome do dono da conta • Saldo • Limite 17
  18. 18. O QUE SÃO MÉTODOS? 18
  19. 19. QUAL O COMPORTAMENTO DA CLASSE CONTA? • public int saque(int quantidade) • public void deposita(int quantidade) • public String pegaNomeDoDono( ) • public String pegaSaldo( ) • public void transfere(Conta destino, double quantidade) 19
  20. 20. CUIDADO COM A VISIBILIDADE 20
  21. 21. O QUE É IMPORTANTE PARA A CLASSE CONTA? • private String numero • private String nomeDoDono • private double saldo • private double limite 21
  22. 22. CUIDADO COM AS RESPONSABILIDADES 22
  23. 23. RESPONSABILIDADES! • System.out.println(conta.getDono( )); ou • System.out.println(conta.getDono( ).getNome( )) ! ! ! ! ! ! ! 23
  24. 24. AGORA VAMOS CRIAR O DONO • private String nome ! • public String pegaNome( ) 24
  25. 25. EXERCÍCIO 1 25
  26. 26. SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO • 1 - modele um funcionário. Ele deve ter o nome do funcionário (String), o departamento onde trabalha (String), seu salário (double), a data de entrada no banco (String) e seu RG (String). 26
  27. 27. SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO • Crie um método recebeAumento(double quantidade) que aumenta o salário do funcionário de acordo com o parâmetro passado como argumento. ! • Crie também o método calculaGanhoAnual( ), que não recebe parâmetro nenhum e devolve o valor do salário multiplicado por 12. 27
  28. 28. EXERCÍCIO 2 28
  29. 29. SISTEMA PARA GERENCIAR FUNCIONÁRIOS DO BANCO • Crie uma classe Banco. O Banco tem um nome, cnpj e uma referência a um array de “Funcionario”. ! • O Banco deve ter um método adiciona, que recebe uma referência a “Funcionario” como argumento e guarda esse funcionário no array 29
  30. 30. THANK YOU For questions or suggestions: ! jfarah@thoughtworks.com

×