![Page 2: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/2.jpg)
Auladehoje• EstudaremosoutrasduasestruturasdeencapsulamentodaOrientaçãoaObjetos– Classes– Pacotes
Leonardo Murta Introdução a OO 2
![Page 3: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/3.jpg)
ParadigmaprocedimentalversusOO
Leonardo Murta Introdução a OO 3
• Oparadigmaprocedimentalorganizaoprogramaemtermosdealgoritmos
• OparadigmaOOorganizaoprogramaemtermosdeobjetos
AlgoritmosObjetos
![Page 4: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/4.jpg)
AlgoritmosObjetos• Podemoscriarprogramapensandoemtermosdeobjetosaoinvésdealgoritmos?
• Omundoécompostodeobjetos– Umalojatemprodutos,pedidos,estoque,etc.– Umrestaurantetemmesas,garçons,comidas,bebidas,etc.
– Umauniversidadetemprofessores,alunos,disciplinas,etc.– Umarodoviáriatemônibus,passageiros,bagagens,etc.
• Esecriarmosprogramasbasicamentecriandoobjetosequivalentesaomundoreal,efazendocomqueessesobjetossecomuniquem?
Leonardo Murta Introdução a OO 4
![Page 5: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/5.jpg)
Leonardo Murta Introdução a OO 5
• Definição– Umobjetoéarepresentaçãocomputacionaldeumelementoouprocessodomundoreal
– Cadaobjetopossuisuascaracterís;caseseucomportamento
• ExemplosdeObjetos
cadeira mesa caneta lápiscarro piloto venda mercadoriacliente aula programa computadoraluno avião
Objetos
![Page 6: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/6.jpg)
Leonardo Murta Introdução a OO 6
• Definição– UmacaracterísOcadescreveumapropriedadedeumobjeto,ouseja,algumelementoquedescrevaoobjeto.
– CadacaracterísOcaéchamadadeatributoefuncionacomoumavariávelpertencenteaoobjeto
• ExemplodecaracterísOcasdoobjetocarro– Cor– Marca– Númerodeportas– Anodefabricação– TipodecombusSvel
CaracterísOcasdeObjetos
![Page 7: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/7.jpg)
Leonardo Murta Introdução a OO 7
• Definição– Umcomportamentorepresentaumaaçãoourespostadeumobjetoaumaaçãodomundoreal
– Cadacomportamentoéchamadodemétodoefuncionacomoumprocedimento/funçãopertencenteaoobjeto
• Exemplosdecomportamentoparaoobjetocarro– Acelerar– Frear– Virarparadireita– Virarparaesquerda
ComportamentodeObjetos
![Page 8: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/8.jpg)
Leonardo Murta Introdução a OO 8
Características
Comportamento
Objeto no Mundo Real
Atributos
Métodos
Objeto Computacional
MapeamentodeObjetos
![Page 9: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/9.jpg)
ParadigmaProcedimentalversusOO(exemplo:Agenda)
ParadigmaProcedimental• Variáveis
– Vetordenomes– Vetordeendereços– Vetordetelefones
• Procedimentos– Listagemdetodososnomes– Listagemdoendereçodadoum
nome– Listagemdotelefonedadoum
nome– Adiçãodenome,endereçoe
telefone– Remoçãodenome,endereçoe
telefone
ParadigmaOO• ObjetoAgenda
– Atributo• VetordeContatos
– Métodos• ListagemdeContatos• AdiçãodeumContato• RemoçãodeumContato
• ObjetoContato– Atributos
• Nome• Endereço• Telefone
– Métodos• Exibiçãodenome,endereçoe
telefone• Ediçãodenome,endereçoetelefone
Leonardo Murta Introdução a OO 9
![Page 10: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/10.jpg)
ParadigmaOO(Exemplo:totaldacompra)
Leonardo Murta Introdução a OO 10
Quais são os objetos participantes do cálculo do total da compra?
Pedido:12345Cliente:JoãodaSilvaEndereço:RuadosBobos,númerozero
Item Produto Preço QuanOdade Subtotal
1 Açúcar R$2,00 5 R$10,00
2 Macarrão R$2,50 2 R$5,00
3 Feijão R$3,00 3 R$9,00
TOTAL R$24,00
![Page 11: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/11.jpg)
ParadigmaOO(Exemplo:totaldacompra)
Leonardo Murta Introdução a OO 11
Pedido:12345Cliente:JoãodaSilvaEndereço:RuadosBobos,númerozero
Item Produto Preço QuanOdade Subtotal
1 Açúcar R$2,00 5 R$10,00
2 Macarrão R$2,50 2 R$5,00
3 Feijão R$3,00 3 R$9,00
TOTAL R$24,00
Pedido12345
Item1
Item2
Item3
ProdutoAçúcar
ProdutoMacarrão
5
ProdutoFeijão
2
3
2,00
2,50
3,00
![Page 12: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/12.jpg)
ParadigmaOO(Exemplo:totaldacompra)
• Comoobterototaldacompra?1. OobjetoCaixapediriaaoobjetoPedidoseuvalor
total2. OobjetoPedido,porsuavez,percorreriatodosos
seusobjetosItemperguntandooseuvalorsubtotalesomariaessesvalorespararesponderaoobjetoCaixa
3. CadaobjetoItemperguntariaaoobjetoProdutooseupreçoemulOplicariaessepreçopelaquanOdadequeestásendocomprada,pararesponderaoobjetoPedido
Leonardo Murta Introdução a OO 12
![Page 13: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/13.jpg)
CLASSES
Leonardo Murta Introdução a OO 13
![Page 14: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/14.jpg)
ClassesversusObjetos• AClasseéo;podoObjeto
Leonardo Murta Introdução a OO 14
Fonte: livro “Object-Oriented Analysis and Design with Applications”
![Page 15: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/15.jpg)
ClassesversusObjetos• ValorestêmOposprimiOvos
– 123éumvalorinteiro– Trueéumvalorbooleano– 12,3éumvalorreal
• Objetospertencemaclasses– João,PedroePaulosãodaclassePessoa– FuscaeFerrarisãodaclasseCarro– FlamengoeFluminensesãodaclasseTime
Leonardo Murta Introdução a OO 15
TiposPrimiOvos Valores
Classes Objetos
![Page 16: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/16.jpg)
ClassesversusObjetos• Umaclasseéumafôrma,capazdeproduzirobjetos• Osprogramadorescriamclasses,asclassesinstanciamobjetos
Leonardo Murta Introdução a OO 16
ClassePessoa
João,10anos,olhosverdes
Maria,14anos,olhosazuis
Pedro,56anos,olhos
marrons
Isabel,90anos,olhosverdes
Paulo,40anos,olhos
castanhos
![Page 17: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/17.jpg)
Leonardo Murta Introdução a OO 17
• AclassedescreveascaracterísOcasecomportamentodeumconjuntodeobjetos– EmJava,cadaobjetopertenceaumaúnicaclasse– Oobjetopossuiráosatributosemétodosdefinidosnaclasse
– Oobjetoéchamadodeinstânciadesuaclasse– AclasseéoblocobásicoparaaconstruçãodeprogramasOO
Classes
![Page 18: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/18.jpg)
ExemplodeClassepublic class Carro {
private int velocidade;
public void acelera() {
velocidade++;
}
public void freia() {
velocidade--;
}
}
Leonardo Murta Introdução a OO 18
Atributos (características) são variáveis globais acessíveis por
todos os métodos da classe
Métodos (comportamentos)
![Page 19: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/19.jpg)
Criaçãodeobjetos• Aclasseéresponsávelpelacriaçãodeseusobjetosviamétodoconstrutor– Mesmonomedaclasse– SemOpoderetorno
public Carro(int velocidadeInicial) {
velocidade = velocidadeInicial; }
Leonardo Murta Introdução a OO 19
![Page 20: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/20.jpg)
Criaçãodeobjetos
• ObjetosdevemserinstanciadosantesdeuOlizados– Ocomandonewinstanciaumobjeto,chamandooseuconstrutor
• Exemplo: Carro fusca = new Carro(10);
Carro bmw = new Carro(15); fusca.freia(); bmw.acelera();
fusca = bmw;
Leonardo Murta Introdução a OO 20
Qual a velocidade de cada carro em cada momento?
O que acontece aqui?
![Page 21: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/21.jpg)
Leonardo Murta Introdução a OO 21
Criaçãodeobjetos• Valornull:
– UOlizadopararepresentarumobjetonãoinicializado– Quandoummétodoretornaumobjeto,elepoderetornarnullparaindicar,porexemplo,queoobjetonãofoiencontrado
– Épossívelatribuirnullparadescartarumobjetopreviamenteinstanciado
• Exemplo: Carro fusca = new Carro(10); fusca.acelera(); fusca = null;
![Page 22: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/22.jpg)
PACOTES
Leonardo Murta Introdução a OO 22
![Page 23: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/23.jpg)
Pacotes• UOlizadosparaagregarclassesrelacionadas• Opacotedeumaclasseéindicadonaprimeiralinhadaclasse
– Declaraçãopackage• Seumaclassenãodeclaraseupacote,o interpretadorassume
queaclassepertenceaumpacotedefault
package br.uff.ic; public class Pessoa { ... }
Leonardo Murta Introdução a OO 23
![Page 24: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/24.jpg)
Leonardo Murta Introdução a OO 24
Pacotes• Modificadorespermitemquedeterminadasclasses
sejamvisíveisapenasparaoutrasclassesdomesmopacote
![Page 25: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/25.jpg)
Pacotes• Semprequeforusarumaclassedeoutropacote,énecessário
importar• Aimportaçãoserealizaatravésdapalavra-chaveimport,
seguidadonomedaclassedesejada– Asimportaçõessãoapresentadasantesdadeclaraçãodaclassemasdepoisdadeclaraçãodopacote
– Aimportaçãodeumpacotenãoimportaossubpacotesrecursivamente
package br.uff.ic.prog1; import java.util.Scanner; public class Fisica { ... }
Leonardo Murta Introdução a OO 25
![Page 26: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/26.jpg)
Regradeouroparaclassesepacotes
• Classesdevemsermapeadasemarquivoscomomesmonome– ClassePessoa– ArquivoPessoa.java
• Pacotesdevemsermapeadosemdiretórios– Pacotebr.uff.ic– Diretóriobr\uff\ic
• Seonomecompletodaclasseébr.uff.ic.Pessoa– Devehaverbr\uff\ic\Pessoa.java
Leonardo Murta Introdução a OO 26
![Page 27: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/27.jpg)
ATRIBUTOSEMÉTODOS
Leonardo Murta Introdução a OO 27
![Page 28: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/28.jpg)
Modificadores• Atributosemétodospodemterdiferentesvisibilidadeseescopos– Estamosatéagorausandosomenteosmodificadorespublicsta7c
– Oquesignificamessesmodificadores?– Quaisoutrosmodificadoresexistem?
Leonardo Murta Introdução a OO 28
![Page 29: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/29.jpg)
Modificadordevisibilidade• Indicaquempodeacessaroatributooumétodo:
– Omodificadorprivateindicaqueoatributooumétodopodeserchamadoapenasporoutrosmétodosdaprópriaclasse
– Aausênciademodificadoréconhecidacomopackage,eindicaqueoatributooumétodopodeserchamadosomenteporclassesdomesmopacote
– Omodificadorprotectedindicaqueoatributooumétodopodeserchamadosomenteporclassesdomesmopacoteousubclasses;
– Omodificadorpublicindicaqueoatributooumétodopodeserchamadoporqualqueroutraclasse
Leonardo Murta Introdução a OO 29
![Page 30: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/30.jpg)
Leonardo Murta Introdução a OO 30
• Indicaaquempertenceométodo(ouatributo)– Aoobjeto(instância)– Àclassecomoumtodo(comparOlhadoparatodasasinstâncias)
• AtributosoumétodosestáOcos(sta7c)pertencemàclassecomoumtodo– Podemserchamadosdiretamentenaclasse,semanecessidadede
instanciarobjetos
– MétodosestáOcossópodemmanipularatributosestáOcos
• Aausênciadomodificadorsta7cindicaqueoatributooumétodoédeinstância
Modificadordeescopo
![Page 31: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/31.jpg)
Agorajásabemosler!!!
publicstaOcvoidmain(String[]args)
Leonardo Murta Introdução a OO 31
![Page 32: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/32.jpg)
Passagemporvalorvs.passagemporreferência
• Algumaslinguagenspermitempassagemdeargumentosporreferência– NãoéocasodeJava,quesemprefazpassagemporvalor
• Diferenças– Passagemporvalor=cópiadosvaloresparaoutraposiçãodememória
– Passagemporreferência=reusodaposiçãodememória
Leonardo Murta Introdução a OO 32
![Page 33: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/33.jpg)
Passagemporvalorvs.passagemporreferência
• VariáveisquecontêmOposprimiOvos(byte,short,int,long,float,double,char,boolean)sempreocupamdiretamenteumaposiçãonamemória
Leonardo Murta Variáveis Compostas 33
6.0
‘A’
7.1
8.2
true
nota2
flaTheBest
nota1
nota3
bloco
![Page 34: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/34.jpg)
Passagemporvalorvs.passagemporreferência
• Variáveisquecontêmobjetosnaverdadeguardamaposiçãodememóriadosobjetos
Leonardo Murta Variáveis Compostas 34
&1234
velocidade:10cor:branca
&1234
fusca
![Page 35: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/35.jpg)
Passagemporvalorvs.passagemporreferência
• Quandoépassadoumobjetoporvalorareferênciaécopiada– Mudançasnosatributosdosobjetossãovistasdefora– Instanciaçõesdenovosobjetosnasvariáveisnãosãovistasdefora
Leonardo Murta Introdução a OO 35
![Page 36: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/36.jpg)
ClassessãoOpos!• ClassespodemseruOlizadascomo
– Tiposdosatributosdeumaoutraclasse– Parâmetrosdeummétodo– Tipoderetornodeummétodo
Leonardo Murta Introdução a OO 36
![Page 37: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/37.jpg)
ClassessãoOpos!class Time {
private Jogador[] jogadores; … public Jogador getJogador(int numero) { ... public void escala(Jogador jogador) { ...
} class Jogador {
private Time time; …
}
Time
Jogador
Leonardo Murta Introdução a OO 37
![Page 38: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/38.jpg)
Exercício1• IdenOfiqueasclassesparaaseguinteespecificação:
“Osupermercadovendediferentes7posdeprodutos.Cadaprodutotemumpreçoeumaquan7dadeemestoque.Umpedidodeumclienteécompostode itens,ondecada itemespecifica o produto que o cliente deseja e a respec7vaquan7dade.Essepedidopodeserpagoemdinheiro,chequeoucartão.”
Leonardo Murta Introdução a OO 38
![Page 39: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/39.jpg)
Exercício2• Refaçaoexercíciodaauladevariáveiscompostasusandosomenteumvetor(eclasse)nolugardedoisvetores(umdenomeseoutrodeidades)– Lembrete:oexercícioeraparalistar10pessoasordenadopornomeedepoisporidade
Leonardo Murta Introdução a OO 39
![Page 40: Introdução a Orientação a Objetosleomurta/courses/2016.1/poo/aula7.pdfLeonardo Murta Introdução a OO 30 • Indica a quem pertence o método (ou atributo) – Ao objeto (instância)](https://reader035.vdocuments.pub/reader035/viewer/2022070721/5ee17d35ad6a402d666c5a94/html5/thumbnails/40.jpg)
Exercício3• Refaçaoexercíciodaauladesubprogramaçãousandoumaclassepararepresentaracalculadora
Leonardo Murta Introdução a OO 40