Você está na página 1de 12

Funetec Projetos - I

Aula 10

POO Classe – Objeto - Métodos

Junio Figueiredo (junioinf@gmail.com)

Programação Orientado a Objeto – POO Introdução

A programação orientada a objetos trabalha modelando as aplicações por meio de objetos do mundo real. Suas principais vantagens são:

– Facilidade de manutenção

– Reusabilidade

– Extensibilidade

2

Programação Orientado a Objeto – POO Introdução

Objetos em Java também possuem atributos (ou campos) e ações (métodos) associados. As classes em Java são modelos para a construção de objetos. Se você tem uma classe Empregado, você pode construir quantos objetos Empregado quiser, por exemplo.

3

Programação Orientado a Objeto – POO Introdução

A abstração de se usar classes e objetos para modelar o mundo real não implica na obrigatoriedade de se modelar tudo.

blocos

Em

Java,

as

classes

são

os

fundamentais de todo o código construído.

4

Programação Orientado a Objeto – POO Classe

Uma classe necessita, inicialmente, de três coisas:

– Um nome,

– Atributos, e

– Métodos.

5

Programação Orientado a Objeto – POO Classe

Os atributos são variáveis, que podem ser de tipos primitivos ou referências a outros objetos.

class Empregado { int idade; double salario; Endereco endereco;

}

6

Programação Orientado a Objeto – POO Classes

Classe:

Programação Orientado a Objeto – POO Classes Classe: 7

7

Programação Orientado a Objeto – POO Criando objetos em Java

Para criar (construir, instanciar) uma Conta, basta usar a palavra chave new, utilizamos também os parênteses

public class TestaConta { public static void main(String[] args) { new Conta();

}

}

Bem, o código acima cria um objeto do tipo Conta, mas como acessar esse objeto que foi criado? Precisamos ter alguma forma de nos referenciarmos a esse objeto. Precisamos de uma variável:

8

Programação Orientado a Objeto – POO Criando objetos em Java

public class TestaConta { public static void main(String[] args) { Conta minhaConta = new Conta();

}

}

Através da variável minhaConta, agora, podemos acessar o objeto recém criado para alterar seu dono, seu saldo etc:

9

Programação Orientado a Objeto – POO Criando objetos em Java

class TestaConta { public static void main(String[] args) { Conta minhaConta; minhaConta = new Conta();

minhaConta.dono = "Duke"; minhaConta.saldo = 1000.0;

System.out.println("Saldo atual: " + minhaConta.saldo);

}

}

10

Programação Orientado a Objeto – POO Objetos em Memória

Quando declaramos variáveis é fácil calcular a quantidade de memória alocada. Para um int, por exemplo, temos 32 bits.

Porém, para variáveis de referência a história é diferente.

Quando

de

rodamos

um

programa,

o

espaço

armazenamento de dados é dividido em dois:

a pilha e a heap.

11

Programação Orientado a Objeto – POO Objetos em Memória

Quando você executa o código abaixo, a variável de referência empregado recebe um espaço de memória na pilha onde será armazenado o endereço para o espaço de memória que foi alocado para o objeto que acabou de ser criado na heap.

Empregado empregado = new Empregado();

12

Programação Orientado a Objeto – POO Objetos em Memória

Aprendemos a criar objetos com o new, mas em nenhum momento foi falado como destruir objetos sem uso para liberar memória.

Java possui o garbage collector, que destrói objetos sem uso.

possui

Um

objeto

sem

uso é aquele que

não

referências ou objetos que o referencia.

13

Programação Orientado a Objeto – POO Métodos

Como já vimos na última aula, os métodos definem o comportamento de um objeto – ou seja, tudo o que acontece quando o objeto é criado, além de várias tarefas que o objeto pode realizar durante seu tempo de vida As definições de métodos possuem quatro partes:

O nome do métodos Uma lista de parâmetros : Define os valores que o método deve receber. Métodos que não devem receber nenhum valor possuem a lista de parâmetros vazia

14

Programação Orientado a Objeto – POO Métodos

Retorno: A resposta que será devolvida ao final do processamento do método. Quando um método não devolve nenhuma resposta, ele deve ser marcado coma palavra reservada void. O corpo do método : Define o que acontecerá quando o método for chamado. As duas primeiras partes da definição do método formam o que é chamado de assinatura do método

15

Programação Orientado a Objeto – POO Métodos sem Retorno

Orientado a Objeto – POO Métodos sem Retorno As duas primeiras partes da definição do método

As duas primeiras partes da definição do método formam o que é chamado de assinatura do método

16

Programação Orientado a Objeto – POO Métodos sem Retorno

Queremos criar um método que saca uma determinada quantidade e não devolve nenhuma informação

quantidade e não devolve nenhuma informação A palavra chave void diz que, quando você pedir para

A palavra chave void diz que, quando você pedir para a conta sacar uma quantia, nenhuma informação será enviada de volta a quem pediu.

17

Programação Orientado a Objeto – POO Métodos sem Retorno

Queremos criar um método que depositar uma determinada quantidade e não devolve nenhuma informação

sem Retorno Queremos criar um método que depositar uma determinada quantidade e não devolve nenhuma informação

18

Programação Orientado a Objeto – POO Métodos sem Retorno

public class TestaConta {

public static void main(String[] args) { Conta minhaConta; minhaConta = new Conta();

// alterando os valores da minha conta minhaConta.dono = "Duke"; minhaConta.saldo = 1000.0;

// saca 200 reais

minhaConta.saca(200);

// deposita 500 reais

minhaConta.deposita(500);

System.out.println("Saldo atual: " + minhaConta.saldo);

}

}

19

Programação Orientado a Objeto – POO Métodos com Retorno

Um método pode retornar um valor para o código que o chamou. No caso do nosso método saca , podemos devolver um valor booleano indicando se a operação foi bem sucedida.

20
20

Programação Orientado a Objeto – POO Métodos com Retorno

21
21

Programação Orientado a Objeto – POO Próxima Aulas

Modificadores de acesso e atributos de classe.

22

Funetec Projetos - I

Aula 10

POO Classe – Objeto - Métodos

Junio Figueiredo (junioinf@gmail.com)