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? 
• 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
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 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
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 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
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) 
• public String pegaNomeDoDono( ) 
• public String pegaSaldo( ) 
• public void transfere(Conta destino, double quantidade) 
19
CUIDADO COM A 
VISIBILIDADE 
20
O QUE É IMPORTANTE PARA A CLASSE CONTA? 
• private String numero 
• private String nomeDoDono 
• private double saldo 
• private double limite 
21
CUIDADO COM AS 
RESPONSABILIDADES 
22
RESPONSABILIDADES! 
• System.out.println(conta.getDono( )); ou 
• System.out.println(conta.getDono( ).getNome( )) 
! 
! 
! 
! 
! 
! 
! 
23
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 departamento onde trabalha (String), 
seu salário (double), a data de entrada no banco (String) e 
seu RG (String). 
26
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
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 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
THANK YOU 
For questions or suggestions: 
! 
jfarah@thoughtworks.com

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

  • 1.
    A c el e ra d o ra JAVA E ORIENTAÇÃO A OBJETOS
  • 2.
    AGENDA • Motivação • JVM • OO • Hands On • Classes • Atributos • Métodos • Exercícios 2
  • 3.
    MOTIVAÇÃO Por queeu usaria JAVA? 3
  • 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.
  • 6.
    WRITE ONCE, RUN EVERYWHERE 6
  • 7.
  • 8.
    ESPERA AÍ! JVM? JVM? JRE? JDK? 8
  • 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.
    JAVA E ORIENTAÇÃO A OBJETOS O que é orientação a objetos? 10
  • 11.
    O QUE É ORIENTAÇÃO A OBJETOS? 11
  • 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.
  • 14.
    LET'S GET OURHANDS DIRTY • Criar novo projeto: Banco • Criar nova classe: Conta 14
  • 15.
    O QUE SÃOCLASSES? 15
  • 16.
    O QUE SÃO ATRIBUTOS? 16
  • 17.
    O QUE ÉIMPORTANTE PARA A CLASSE CONTA? • Número da conta • Nome do dono da conta • Saldo • Limite 17
  • 18.
    O QUE SÃO MÉTODOS? 18
  • 19.
    QUAL O COMPORTAMENTODA 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.
    CUIDADO COM A VISIBILIDADE 20
  • 21.
    O QUE ÉIMPORTANTE PARA A CLASSE CONTA? • private String numero • private String nomeDoDono • private double saldo • private double limite 21
  • 22.
    CUIDADO COM AS RESPONSABILIDADES 22
  • 23.
    RESPONSABILIDADES! • System.out.println(conta.getDono()); ou • System.out.println(conta.getDono( ).getNome( )) ! ! ! ! ! ! ! 23
  • 24.
    AGORA VAMOS CRIARO DONO • private String nome ! • public String pegaNome( ) 24
  • 25.
  • 26.
    SISTEMA PARA GERENCIARFUNCIONÁ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.
    SISTEMA PARA GERENCIARFUNCIONÁ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.
  • 29.
    SISTEMA PARA GERENCIARFUNCIONÁ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.
    THANK YOU Forquestions or suggestions: ! jfarah@thoughtworks.com