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

30
Aceleradora JAVA E ORIENTAÇÃO A OBJETOS

description

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

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

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

A c e l e r a d o r a

JAVA E ORIENTAÇÃO A OBJETOS

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

AGENDA

• Motivação

• JVM

• OO

• Hands On

• Classes

• Atributos

• Métodos

• Exercícios

2

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

MOTIVAÇÃOPor que eu usaria JAVA?

3

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

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

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

5

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

WRITE ONCE, RUN EVERYWHERE

6

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

7

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

ESPERA AÍ! JVM?JVM? JRE? JDK?

8

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

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

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

JAVA E ORIENTAÇÃO A OBJETOSO que é orientação a objetos?

10

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

O QUE É ORIENTAÇÃO A OBJETOS?

11

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

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

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

13

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

LET'S GET OUR HANDS DIRTY

• Criar novo projeto: Banco

• Criar nova classe: Conta

14

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

O QUE SÃO CLASSES?

15

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

O QUE SÃO ATRIBUTOS?

16

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

O QUE É IMPORTANTE PARA A CLASSE CONTA?

• Número da conta

• Nome do dono da conta

• Saldo

• Limite

17

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

O QUE SÃO MÉTODOS?

18

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

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

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

CUIDADO COM A VISIBILIDADE

20

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

O QUE É IMPORTANTE PARA A CLASSE CONTA?

• private String numero

• private String nomeDoDono

• private double saldo

• private double limite

21

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

CUIDADO COM AS RESPONSABILIDADES

22

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

RESPONSABILIDADES!

• System.out.println(conta.getDono( )); ou

• System.out.println(conta.getDono( ).getNome( ))

!

!

!

!

!

!

!

23

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

AGORA VAMOS CRIAR O DONO

• private String nome

!

• public String pegaNome( )

24

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

EXERCÍCIO 1

25

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

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

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

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

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

EXERCÍCIO 2

28

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

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

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

For questions or suggestions: !

[email protected]

THANK YOU