Buscar

Aula 05 - Construtores, Métodos, Parâmetros e Sobrecarga

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos	I
http://lattes.cnpq.br/5971466215979342
http://br.linkedin.com/in/rmalta
Rodrigo	Malta	da	Silva	
Analista	de	Sistemas	
MBA	em	Gestão	Empresarial	
Project	Management	Professional	(PMP)	
rodrigo.malta@souunit.com.br
http://lattes.cnpq.br/5971466215979342
http://br.linkedin.com/in/rmalta
mailto:rodrigo.malta@souunit.com.br
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
•Métodos	
•Construtores	
•EstáGcos	
•Instância	
•Sobrecarga
• Conceitos:
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Relembrando:	
- Representa	os	comportamentos	ou	habilidades	inerentes	aos	objetos	
criados	a	partir	de	uma	determinada	classe	
- Modificam	o	“estado”	do	objeto	
- Permite	a	interação	entre	objetos	
- Os	métodos	são	os	comportamentos	das	classes	
- São	trechos	de	códigos	independentes	que	podem	ser	executados	
quando	são	“chamados”	
- Métodos	podem	alterar	o	valor	dos	atributos	das	classes	ou	
“chamar”	outros	métodos	
- São	as	funções	/	procedimentos	da	Orientação	a	Objetos.
• Métodos:
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
•Métodos	-	Características:
- Podem	receber	parâmetros	(dados	de	entrada)	
- Podem	retornar	alguma	informação	(dados	de	saída)	
- Podem	não	retornar	nenhuma	informação	
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Aplica-se	modificadores	de	Visibilidade	(Java	Access	Modifiers)	
1. default	(padrão)	
2. private	(privado)	
3. protected	(protegido)	
4. public	(público)
• Métodos	-	Encapsulamento	em	Java:
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Construtores	Java	são	métodos	especiais	que	são	chamados	quando	um	objeto	
é	instanciado.	Em	outras	palavras,	quando	você	usa	a	palavra-chave	"new".		
- O	construtor	inicializa	o	objeto	recém-criado.	
- Métodos	 contrutores	 também	 podem	 receber	 parâmetros	 para	 permiGr	
melhor	controle	da	construção	do	objeto.	
- Toda	classe	possui	um	método	construtor	implícito,	quando	nenhum	é	definido	
- Um	 exemplo	 simples	 que	 cria	 um	 objeto	 do	 Gpo	 “Aluno”,	 que	 resulta	 no	
construtor	da	classe	sendo	chamado:
•Métodos	-	Construtores	(Constructor	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Imagine	uma	classe	com	os	atributos	conforme	abaixo:
•Métodos	-	Construtores	(Constructor	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Definindo	um	método	construtor:	
- O	método	construtor	é	composto	de	um	modificador	de	visibilidade	+	nome	
da	classe	que	queira	construir,	ou	seja:	
- Para	 as	 classes	 Aluno	 e	 Unit,	 os	 métodos	 construtores	 podem	 ter	 as	
assinaturas	abaixo:
- Assinatura	 do	 método	 é	 o	 que	 o	 torna	 único,	 ou	 seja,	 é	 sua	 idenGficação.	 No	 Java	 a	
assinatura	 de	 um	 método	 é	 composta	 por:	 nome	 do	 método	 e	 seus	 parâmetros	
(quan?dade,	ordem	e	?pos).		O	Gpo	de	retorno	do	método	não	faz	parte	da	assinatura.	
- Assim,	pode	ter	na	mesma	classe,	métodos	com	o	mesmo	nome,	desde	que	tenham	listas	
de	parâmetros	diferentes.	
- Nos	métodos	construtores	não	há	definição	de	retorno	para	o	método.
•Métodos	-	Construtores	(Constructor	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Definindo	um	construtor: Parâmetro	do	tipo	(classe)	String	a	
variável	foi	nomeada	de	“nome".
•Métodos	-	Construtores	(Constructor	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Dentro	de	um	método,	"this"	é	uma	referência	ao	próprio	objeto	ou	
aos	atributos	da	próprios	da	classe.
• Métodos	-	Construtores	-	A	palavra-chave	"this"	(este):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Normalmente	 você	 não	 pode	 chamar	 um	 método	 de	 uma	 classe	 sem	
primeiro	criar	uma	instância	dessa	classe.	Ao	declarar	um	método	usando	a	
palavra-chave	"staGc",	você	pode	chamá-lo	sem	criar	um	objeto,	pois	ele	se	
torna	um	método	de	classe	(ou	seja,	um	método	que	pertence	a	uma	classe	
em	vez	de	um	objeto).	
- Os	métodos	estáGcos	são	usados	em	métodos	que	não	precisam	acessar	o	
estado	 de	 um	 objeto	 ou	 usam	 apenas	 campos	 estáGcos.	 Por	 exemplo,	 o	
método	"main"	é	um	método	estáGco:	
- É	o	ponto	de	parGda	para	um	aplicaGvo	Java	e	não	precisa	acessar	o	estado	
de	 um	 objeto.	 Observe	 que	 não	 há	 objetos	 criados	 neste	 momento.	 Os	
parâmetros	necessários	são	passados	como	uma	matriz	String.
• Métodos	-	Estáticos	(Static	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Método	de	instância	são	métodos	que	requerem	que	um	objeto	de	
sua	classe	seja	criado	antes	de	poder	ser	chamado.	Para	invocar	um	
método	de	 instância,	 temos	que	 criar	um	objeto	da	 classe	do	qual	
ele	foi	definido.	
- Pelos	conceitos	da	Orientação	a	Objetos	é	a	 forma	mais	uGlizada	e	
correta,	 portanto	 tenha	 atenção	 e	 cuidado	 ao	 uGlizar	 de	métodos	
estáGcos.
• Métodos	de	Instância	(Instance	Methods):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
- Sobrecarga	 significa	 que	 o	 mesmo	 nome	 do	 método	 pode	 ser	
definido	com	mais	de	uma	assinatura	-	a	lista	de	parâmetros	formais	
e	seus	Gpos.	
- Java	 é	 fortemente	 Gpado	 e	 significa	 que	 pode	 haver	 versões	
diferentes	de	uma	 função	 (método),	 sendo	que	o	compilador	pode	
inferir	qual	método	chamar	 (invocar),	observando	a	 lista	e	Gpos	de	
parâmetros	do	método.
• Sobrecarga	(Overload):
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos
• Sobrecarga	(Overload): Métodos	com	o	mesmo	nome,	porém	com	lista	de	parâmetros	diferentes.
Os	retornos	são	diferentes,	um	é	double	(números	reais)	e	outro	é	duble[]	(lista	
ou	conjunto	de	números	reais).	
Apesar	de	retornos	diferentes,	isto	não	é	relevante	para	a	sobrecarga.
Autor: Rodrigo Malta da Silva - Versão: 1.0 - 2018.1
- Exercício:	
1.Uma	locadora	possui	dois	tipos	de	veículos	(utilitário	e	de	passeio),	
tendo	no	máximo	10	de	cada	tipo.	O	veículo,	independente	do	tipo,	
deve	 ser	 identificado	 pelo	 modelo,	 marca,	 ano,	 quilometragem	
inicial,	 preço	 de	 locação	 e	 quantidade	 de	 dias	 de	 locação.	 Para	
calcular	 o	preço	da	 locação	e	 construir	 as	 entidades	 apresentadas,	
utilize	como	regra	as	definições	a	seguir:	
-Cálculo	de	 veículos	utilitários:	Valor	 fixo	 acrescido	de	R$	40,00	até	
15	dias	e	de	R$	20,00	acima	disto;	
-Cálculo	de	veículos	de	passeio:	Valor	fixo	acrescido	de	R$	20,00	até	7	
dias	e	de	R$	15,00	acima	disto;	
-Crie	um	programa	principal	que	simule	alugueis	de	carros,	e	mostre	
o	custo	de	locação	para	o	período	locado.
Programação	Orientada	a	Objetos
Fundamentos	da	Orientação	a	Objetos

Outros materiais