programação orientada a objetos em java - criação de objetos

21
Programação Orientada a Objetos

Upload: madson-dias

Post on 26-May-2015

5.474 views

Category:

Education


1 download

DESCRIPTION

Criação de objetos

TRANSCRIPT

Page 1: Programação Orientada a Objetos em Java - Criação de Objetos

Programação Orientada a Objetos

Page 2: Programação Orientada a Objetos em Java - Criação de Objetos

Este sou eu :)

http://omadson.wordpress.com

@omadsonDesenvolvedor WEB

++ Soluções em Tecnologia

CENTEC

Page 3: Programação Orientada a Objetos em Java - Criação de Objetos

O que eu preciso Saber?

● Conceitos gerais de programação● Tipos primitivos, entrada e saída de

dados, operadores● Estruturas condicionais e de repetição● Introdução a orientação a objetos(objeto,

classe, atributo e método)● Hoje: Criação de objetos

Page 4: Programação Orientada a Objetos em Java - Criação de Objetos

Criação de objetos

● String é uma classe e as variáveis do tipo string armazenam referências para objetos String.

Como criamos um Como criamos um objetoobjeto??

Page 5: Programação Orientada a Objetos em Java - Criação de Objetos

Antes de criar objetos...

● Precisamos criar um método especial nas classes que será responsável por inicializar os atributos dos objetos que criaremos

● Estes métodos especiais são chamados de construtores

Page 6: Programação Orientada a Objetos em Java - Criação de Objetos

Construtores

● Além de métodos e atributos, o corpo de uma classe pode conter:

ConstrutoresConstrutores● Definindo como os atributos de um

objeto são inicializados

public <nome_da_classe>(<parâmetros>){

<corpo_do_construtor>}

Page 7: Programação Orientada a Objetos em Java - Criação de Objetos

Construtor default

● Um construtor sem parâmetros

● Caso não seja definido um construtor, um construtor implícito dafault é fornecido inicializando seus atributos com seus valores default

public Conta(){

this.saldo   = 0;this.cliente = null;

}

Page 8: Programação Orientada a Objetos em Java - Criação de Objetos

Valores default para atributos

● 0 para int, double, float, long, short, etc.● false para boolean● null para tipos referência

null denota uma referência nula, nãonull denota uma referência nula, nãoexistente, para um objeto de qualquer tipoexistente, para um objeto de qualquer tipo

Page 9: Programação Orientada a Objetos em Java - Criação de Objetos

Criação de objetos

● Um objeto é criado através do operador new

Cliente cc = new Cliente(“Madson Dias“,“12345678900“, “Rua A“);

new new <nome_da_classe><nome_da_classe>((<argumentos><argumentos>))

Page 10: Programação Orientada a Objetos em Java - Criação de Objetos

Exercício

● Crie uma classe Curso com código e nome.

● Crie uma classe Aluno, contendo nome, cpf, idade e Curso que o aluno faz.

● Lembre-se de criar um construtor bem como os métodos get e set para as classes.

Page 11: Programação Orientada a Objetos em Java - Criação de Objetos

Métodos (boas práticas)

● Crie métodos para:● Encapsular complexidade e tornar o

código mais legível● Evitar código duplicado. Exemplo: o

que é mais interessante?– Promover reutilização de código– Isolar operações e estruturas de

dados complexos

Page 12: Programação Orientada a Objetos em Java - Criação de Objetos

Métodos (boas práticas)

● Métodos devem ter forte coesão: tudo dentro de um método deve ser relacionado ao seu propósito central. Se há dois propósitos, deve haver dois métodos.● Por exemplo, o método creditar não

deveria imprimir o novo saldo da conta.

Page 13: Programação Orientada a Objetos em Java - Criação de Objetos

Métodos (boas práticas)

● Acoplamento é um termo usado para descrever quão dependente um método é de outro(s).

● O ideal é ter fraco acoplamento.● Existe uma grande disputa sobre qual é o

tamanho ideal para métodos:● Uma única página● Pequenos métodos = menos legibilidade● Métodos longos bons = unicidade lógica

Page 14: Programação Orientada a Objetos em Java - Criação de Objetos

Mútiplos construtores

● Objetos da classe Conta podem ser inicializados de duas formas:public class Conta {

private Cliente cliente;private double saldo;public Conta(Cliente c, double s) {

this.cliente = c;this.saldo   = s;

}public Conta(Cliente c) {

this(c, 0.0);}...

}

ChamaChamaoutrooutro

construtorconstrutorda classeda classe

Page 15: Programação Orientada a Objetos em Java - Criação de Objetos

Métodos Overloading

● Métodos com o mesmo nome e diferentes listas de argumentos

● Da mesma forma que os dois construtores de conta.

Page 16: Programação Orientada a Objetos em Java - Criação de Objetos

Variáveis e métodos estáticos

● Até aqui as variáveis e os métodos de instância:● Para acessar o atributo (variável de

instância) ou chamar um método é preciso ter um objeto

● Cada objeto tem seu atributo

Page 17: Programação Orientada a Objetos em Java - Criação de Objetos

Variáveis e métodos estáticos

● Variáveis e métodos estáticos são da classe● Todos os métodos compartilham uma

mesma variável estática● Acesso através do nome da classe que

os contém● Exemplo: classe para conversão de

valores.

Page 18: Programação Orientada a Objetos em Java - Criação de Objetos

Variáveis e métodos estáticos

● O método main é estático● Por onde se inicia a execução● A execução não inicia de um objeto,

mas da classe que contém o main● Métodos estáticos só acessam variáveis e

outros métodos estáticos● Atributos e métodos de instância

apenas através de objetos, como qualquer outro.

Page 19: Programação Orientada a Objetos em Java - Criação de Objetos

Exercício

● Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário (double), a data de entrada no banco (String) e seu RG (String).

● Você deve criar alguns métodos de acordo com sua necessidade. Além deles, crie um método bonifica que aumenta o salario do funcionário de acordo com o parâmetro passado como argumento.

Page 20: Programação Orientada a Objetos em Java - Criação de Objetos

Exercício

● Crie também um método calculaGanhoAnual, que não recebe parâmetro algum, devolvendo o valor do salário multiplicado por 12..

● A ideia aqui é apenas modelar, isto é, só identifique que informações são importantes e o que um funcionário faz. Desenhe no papel tudo o que um Funcionario tem e tudo que ele faz.

Page 21: Programação Orientada a Objetos em Java - Criação de Objetos

Muito a aprender você ainda tem.Muito a aprender você ainda tem.