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

Post on 02-Jul-2015

115 views 0 download

description

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

Transcript of 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

AGENDA

• Motivação

• JVM

• OO

• Hands On

• Classes

• Atributos

• Métodos

• Exercícios

2

MOTIVAÇÃOPor 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 OBJETOSO 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

For questions or suggestions: !

jfarah@thoughtworks.com

THANK YOU