Programação Orientada a Objetos em Java - Criação de Objetos
-
Upload
madson-dias -
Category
Education
-
view
5.474 -
download
1
description
Transcript of Programação Orientada a Objetos em Java - Criação de Objetos
![Page 1: Programação Orientada a Objetos em Java - Criação de Objetos](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/1.jpg)
Programação Orientada a Objetos
![Page 2: Programação Orientada a Objetos em Java - Criação de Objetos](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/2.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/3.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/4.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/5.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/6.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/7.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/8.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/9.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/10.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/11.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/12.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/13.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/14.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/15.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/16.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/17.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/18.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/19.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/20.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062405/5563a5bbd8b42aae0d8b4e86/html5/thumbnails/21.jpg)
Muito a aprender você ainda tem.Muito a aprender você ainda tem.