Buscar

POO - Introducao a Orientacao a Objetos

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

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

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ê viu 3, do total de 47 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

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

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ê viu 6, do total de 47 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

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

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ê viu 9, do total de 47 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

Prévia do material em texto

TDITDI
Tecnologia e Desenvolvimento ITecnologia e Desenvolvimento I
TDITDI
Tecnologia e Desenvolvimento ITecnologia e Desenvolvimento I
Prof. MsC Vicente Paulo de Camargo
PUCGO
O CONTEÚDO DOS SLIDES FAZ REFERÊNCIA AO MATERIAL DA APOSTILA K19-K11 E DO LIVRO JAVA – USE A CABEÇA E DO LIVRO JAVA – COMO PROGRAMAR (DEITHEL)
POOPOO -- FUNDAMENTOSFUNDAMENTOS
••AA ProgramaçãoProgramação OrientadaOrientada aa ObjetosObjetos (POO)(POO)
surgiusurgiu nono finalfinal dada décadadécada dede 6060 comcom aa
linguagemlinguagem SimulaSimula--6767..
••OsOs conceitosconceitos dede POOPOO foramforam aprimoradosaprimorados comcom aa
linguagemlinguagem SmallTakSmallTak
••C++C++ ee JavaJava popularizarampopularizaram aa POOPOO
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
••AA ProgramaçãoProgramação OrientadaOrientada aa ObjetosObjetos (POO)(POO)
surgiusurgiu nono finalfinal dada décadadécada dede 6060 comcom aa
linguagemlinguagem SimulaSimula--6767..
••OsOs conceitosconceitos dede POOPOO foramforam aprimoradosaprimorados comcom aa
linguagemlinguagem SmallTakSmallTak
••C++C++ ee JavaJava popularizarampopularizaram aa POOPOO
POOPOO -- FUNDAMENTOSFUNDAMENTOS
Na POO um programa é visto como um conjunto de objetosNa POO um programa é visto como um conjunto de objetos
que se comunicam através de mensagensque se comunicam através de mensagens
Na POO um programa é visto como um conjunto de objetosNa POO um programa é visto como um conjunto de objetos
que se comunicam através de mensagensque se comunicam através de mensagens
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
POOPOO -- FUNDAMENTOSFUNDAMENTOS
Na POO um programa é visto como um conjunto de objetosNa POO um programa é visto como um conjunto de objetos
que se comunicam através de mensagensque se comunicam através de mensagens
Na POO um programa é visto como um conjunto de objetosNa POO um programa é visto como um conjunto de objetos
que se comunicam através de mensagensque se comunicam através de mensagens
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
Representam osRepresentam os
comportamentos decomportamentos de
cada objetocada objeto
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
••ObjetosObjetos sãosão usadosusados parapara representarrepresentar entidadesentidades
ouou “coisas”“coisas” dodo mundomundo realreal
••ObjetosObjetos sãosão utilizadosutilizados parapara representarrepresentar aa
abstraçãoabstração dada realidaderealidade parapara solucionarsolucionar umum
determinadodeterminado problemaproblema
••ObjetosObjetos sãosão usadosusados parapara representarrepresentar entidadesentidades
ouou “coisas”“coisas” dodo mundomundo realreal
••ObjetosObjetos sãosão utilizadosutilizados parapara representarrepresentar aa
abstraçãoabstração dada realidaderealidade parapara solucionarsolucionar umum
determinadodeterminado problemaproblema
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
••ObjetosObjetos sãosão usadosusados parapara representarrepresentar entidadesentidades
ouou “coisas”“coisas” dodo mundomundo realreal
••ObjetosObjetos sãosão utilizadosutilizados parapara representarrepresentar aa
abstraçãoabstração dada realidaderealidade parapara solucionarsolucionar umum
determinadodeterminado problemaproblema
AA ABSTRAÇÃOABSTRAÇÃO dada
realidaderealidade éé desprezardesprezar oo
queque éé irrelevanteirrelevante parapara aa
soluçãosolução dodo problemaproblema
AA ABSTRAÇÃOABSTRAÇÃO dada
realidaderealidade éé desprezardesprezar oo
queque éé irrelevanteirrelevante parapara aa
soluçãosolução dodo problemaproblema
••ObjetosObjetos sãosão usadosusados parapara representarrepresentar entidadesentidades
ouou “coisas”“coisas” dodo mundomundo realreal
••ObjetosObjetos sãosão utilizadosutilizados parapara representarrepresentar aa
abstraçãoabstração dada realidaderealidade parapara solucionarsolucionar umum
determinadodeterminado problemaproblema
AA ABSTRAÇÃOABSTRAÇÃO dada
realidaderealidade éé desprezardesprezar oo
queque éé irrelevanteirrelevante parapara aa
soluçãosolução dodo problemaproblema
AA ABSTRAÇÃOABSTRAÇÃO dada
realidaderealidade éé desprezardesprezar oo
queque éé irrelevanteirrelevante parapara aa
soluçãosolução dodo problemaproblema
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
••IndependentementeIndependentemente sese éé ANIMADOANIMADO ouou
INANIMADOINANIMADO,, CONCRETOCONCRETO ouou ABSTRATOABSTRATO umum
objetoobjeto possuipossui certascertas característicascaracterísticas queque facilitamfacilitam
suasua identificaçãoidentificação
••EssasEssas característicascaracterísticas sãosão denominadasdenominadas dede
ATRIBUTOSATRIBUTOS
••OsOs objetosobjetos possuempossuem tambémtambém
COMPORTAMENTOSCOMPORTAMENTOS queque representamrepresentam açõesações queque
sãosão executadasexecutadas pelopelo objetoobjeto
••IndependentementeIndependentemente sese éé ANIMADOANIMADO ouou
INANIMADOINANIMADO,, CONCRETOCONCRETO ouou ABSTRATOABSTRATO umum
objetoobjeto possuipossui certascertas característicascaracterísticas queque facilitamfacilitam
suasua identificaçãoidentificação
••EssasEssas característicascaracterísticas sãosão denominadasdenominadas dede
ATRIBUTOSATRIBUTOS
••OsOs objetosobjetos possuempossuem tambémtambém
COMPORTAMENTOSCOMPORTAMENTOS queque representamrepresentam açõesações queque
sãosão executadasexecutadas pelopelo objetoobjeto
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
UmUm OBJETOOBJETO possuipossui ATRIBUTOSATRIBUTOS ee COMPORTAMENTOSCOMPORTAMENTOS
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOS CARRO e PESSOAOBJETOS CARRO e PESSOA
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
••UmUm atributoatributo éé umauma variávelvariável queque pertencepertence aa umum
objetoobjeto
••OsOs dadosdados dede umum objetoobjeto sãosão armazenadosarmazenados emem
seusseus atributosatributos
••UmUm atributoatributo éé umauma variávelvariável queque pertencepertence aa umum
objetoobjeto
••OsOs dadosdados dede umum objetoobjeto sãosão armazenadosarmazenados emem
seusseus atributosatributos
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
NÃONÃO ESQUEÇAESQUEÇA::
OsOs objetosobjetos nãonão representamrepresentam apenasapenas coisascoisas concretasconcretas comocomo
osos clientesclientes dede umum bancobanco ouou dede umauma lojaloja
OsOs objetosobjetos sãosão utilizadosutilizados parapara representarrepresentar tambémtambém coisascoisas
abstratasabstratas como,como, porpor exemplo,exemplo, contaconta bancária,bancária, umauma
consultaconsulta médicamédica ee outrosoutros
NÃONÃO ESQUEÇAESQUEÇA::
OsOs objetosobjetos nãonão representamrepresentam apenasapenas coisascoisas concretasconcretas comocomo
osos clientesclientes dede umum bancobanco ouou dede umauma lojaloja
OsOs objetosobjetos sãosão utilizadosutilizados parapara representarrepresentar tambémtambém coisascoisas
abstratasabstratas como,como, porpor exemplo,exemplo, contaconta bancária,bancária, umauma
consultaconsulta médicamédica ee outrosoutros
POOPOO -- FUNDAMENTOSFUNDAMENTOS
OBJETOSOBJETOSOBJETOSOBJETOS
LEMBRELEMBRE--SESE::
UMUM OBJETOOBJETO ÉÉ UMAUMA VARIÁVELVARIÁVEL DEFINIDADEFINIDA EMEM UMUM
PROGRAMAPROGRAMA E,E, EVIDENTEMENTE,EVIDENTEMENTE, ALOCAALOCA UMUM
ESPAÇOESPAÇO NANA MEMÓRIAMEMÓRIA DODO COMPUTADORCOMPUTADOR
LEMBRELEMBRE--SESE::
UMUM OBJETOOBJETO ÉÉ UMAUMA VARIÁVELVARIÁVEL DEFINIDADEFINIDA EMEM UMUM
PROGRAMAPROGRAMA E,E, EVIDENTEMENTE,EVIDENTEMENTE, ALOCAALOCA UMUM
ESPAÇOESPAÇO NANA MEMÓRIAMEMÓRIA DODO COMPUTADORCOMPUTADOR
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSESCLASSES
••OsOs objetosobjetos sãosão classificadosclassificados conformeconforme suassuas
semelhançassemelhanças
••AA POOPOO utilizautiliza oo conceitoconceito dede CLASSECLASSE parapara modelarmodelar ee
codificarcodificar osos objetosobjetoscomcom mesmasmesmas CARACTERÍSTICASCARACTERÍSTICAS
ee COMPORTAMENTOSCOMPORTAMENTOS
••UmaUma classeclasse éé umum modelomodelo ouou moldemolde parapara criaçãocriação dede
objetosobjetos
••UmUm objetoobjeto éé denominadodenominado dede INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
••OsOs objetosobjetos sãosão classificadosclassificados conformeconforme suassuas
semelhançassemelhanças
••AA POOPOO utilizautiliza oo conceitoconceito dede CLASSECLASSE parapara modelarmodelar ee
codificarcodificar osos objetosobjetos comcom mesmasmesmas CARACTERÍSTICASCARACTERÍSTICAS
ee COMPORTAMENTOSCOMPORTAMENTOS
••UmaUma classeclasse éé umum modelomodelo ouou moldemolde parapara criaçãocriação dede
objetosobjetos
••UmUm objetoobjeto éé denominadodenominado dede INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSESCLASSES
••OsOs objetosobjetos sãosão classificadosclassificados conformeconforme suassuas
semelhançassemelhanças
••AA POOPOO utilizautiliza oo conceitoconceito dede CLASSECLASSE parapara modelarmodelar ee
codificarcodificar osos objetosobjetos comcom mesmasmesmas CARACTERÍSTICASCARACTERÍSTICAS
ee COMPORTAMENTOSCOMPORTAMENTOS
••UmaUma classeclasse éé umum modelomodelo parapara criaçãocriação dede objetosobjetos
••UmUm objetoobjeto éé denominadodenominado dede INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
INSTÂNCIA É O SINÔNIMOINSTÂNCIA É O SINÔNIMO
DE OBJETO.DE OBJETO. UM OJETO ÉUM OJETO É
UMA INSTÂNCIA DE UMAUMA INSTÂNCIA DE UMA
DETERMINADA CLASSEDETERMINADA CLASSE
INSTÂNCIA É O SINÔNIMOINSTÂNCIA É O SINÔNIMO
DE OBJETO.DE OBJETO. UM OJETO ÉUM OJETO É
UMA INSTÂNCIA DE UMAUMA INSTÂNCIA DE UMA
DETERMINADA CLASSEDETERMINADA CLASSE
••OsOs objetosobjetos sãosão classificadosclassificados conformeconforme suassuas
semelhançassemelhanças
••AA POOPOO utilizautiliza oo conceitoconceito dede CLASSECLASSE parapara modelarmodelar ee
codificarcodificar osos objetosobjetos comcom mesmasmesmas CARACTERÍSTICASCARACTERÍSTICAS
ee COMPORTAMENTOSCOMPORTAMENTOS
••UmaUma classeclasse éé umum modelomodelo parapara criaçãocriação dede objetosobjetos
••UmUm objetoobjeto éé denominadodenominado dede INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
INSTÂNCIA É O SINÔNIMOINSTÂNCIA É O SINÔNIMO
DE OBJETO.DE OBJETO. UM OJETO ÉUM OJETO É
UMA INSTÂNCIA DE UMAUMA INSTÂNCIA DE UMA
DETERMINADA CLASSEDETERMINADA CLASSE
INSTÂNCIA É O SINÔNIMOINSTÂNCIA É O SINÔNIMO
DE OBJETO.DE OBJETO. UM OJETO ÉUM OJETO É
UMA INSTÂNCIA DE UMAUMA INSTÂNCIA DE UMA
DETERMINADA CLASSEDETERMINADA CLASSE
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSESCLASSESCLASSESCLASSES
NÃONÃO ESQUEÇAESQUEÇA::
ANTESANTES DEDE UMUM OBJETOOBJETO SERSER CRIADOCRIADO DEVEMOSDEVEMOS DEFINIRDEFINIR
SEUSSEUS ATRIBUTOSATRIBUTOS EE SEUSSEUS MÉTODOSMÉTODOS
ESSAESSA DEFINIÇÃODEFINIÇÃO ÉÉ REALIZADAREALIZADA EMEM UMAUMA CLASSECLASSE
NÃONÃO ESQUEÇAESQUEÇA::
ANTESANTES DEDE UMUM OBJETOOBJETO SERSER CRIADOCRIADO DEVEMOSDEVEMOS DEFINIRDEFINIR
SEUSSEUS ATRIBUTOSATRIBUTOS EE SEUSSEUS MÉTODOSMÉTODOS
ESSAESSA DEFINIÇÃODEFINIÇÃO ÉÉ REALIZADAREALIZADA EMEM UMAUMA CLASSECLASSE
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSESCLASSESCLASSESCLASSES
CONSIDERANDOCONSIDERANDO QUEQUE UMUM OBJETOOBJETO ÉÉ UMAUMA VARIÁVEL,VARIÁVEL,
ENTÃOENTÃO OO TIPOTIPO DESSADESSA VARIÁVELVARIÁVEL ÉÉ AA PRÓPRIAPRÓPRIA CLASSECLASSE QUEQUE
MODELAMODELA OO OBJETOOBJETO
ÉÉ PORPOR ISSOISSO QUEQUE UMUM OBJETOOBJETO ÉÉ UMAUMA INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
CONSIDERANDOCONSIDERANDO QUEQUE UMUM OBJETOOBJETO ÉÉ UMAUMA VARIÁVEL,VARIÁVEL,
ENTÃOENTÃO OO TIPOTIPO DESSADESSA VARIÁVELVARIÁVEL ÉÉ AA PRÓPRIAPRÓPRIA CLASSECLASSE QUEQUE
MODELAMODELA OO OBJETOOBJETO
ÉÉ PORPOR ISSOISSO QUEQUE UMUM OBJETOOBJETO ÉÉ UMAUMA INSTÂNCIAINSTÂNCIA DEDE UMAUMA
CLASSECLASSE
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVACLASSES JAVA
Cada programa Java é uma classeCada programa Java é uma classeCada programa Java é uma classeCada programa Java é uma classe
Lembre que: Um programa Java compilado tem a extensãoLembre que: Um programa Java compilado tem a extensão .class.classLembre que: Um programa Java compilado tem a extensãoLembre que: Um programa Java compilado tem a extensão .class.class
Não esqueça: Cada programa fonte em Java tem a extensãoNão esqueça: Cada programa fonte em Java tem a extensão .java.javaNão esqueça: Cada programa fonte em Java tem a extensãoNão esqueça: Cada programa fonte em Java tem a extensão .java.java
Lembre que: Um programa Java compilado tem a extensãoLembre que: Um programa Java compilado tem a extensão .class.classLembre que: Um programa Java compilado tem a extensãoLembre que: Um programa Java compilado tem a extensão .class.class
EXEMPLO DEEXEMPLO DE
CLASSECLASSE
CODIFICADACODIFICADA
EM JAVAEM JAVA
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVA E OBJETOSCLASSES JAVA E OBJETOS
Todo programa Java é uma classeTodo programa Java é uma classe
Uma aplicação Java orientada a objetos poderá conter várias classesUma aplicação Java orientada a objetos poderá conter várias classes
Só uma dessas classes possuirá oSó uma dessas classes possuirá o publicpublic staticstatic voidvoid mainmain(....)(....)
Essa classe é o programa principal da aplicaçãoEssa classe é o programa principal da aplicação
As demais classes serão modelos ou moldes dos objetos da aplicaçãoAs demais classes serão modelos ou moldes dos objetos da aplicação
Qualquer classe poderá instanciar objetos de outra classeQualquer classe poderá instanciar objetos de outra classe
Uma classe, em certas situações, poderá instanciar os seus próprios objetosUma classe, em certas situações, poderá instanciar os seus próprios objetos
Em Java, a criação de um objetoEm Java, a criação de um objeto objxobjx de uma classede uma classe ClasseXClasseX possui o seguintepossui o seguinte
formato:formato:
ClasseXClasseX objxobjx == newnew ClasseXClasseX();();
Todo programa Java é uma classeTodo programa Java é uma classe
Uma aplicação Java orientada a objetos poderá conter várias classesUma aplicação Java orientada a objetos poderá conter várias classes
Só uma dessas classes possuirá oSó uma dessas classes possuirá o publicpublic staticstatic voidvoid mainmain(....)(....)
Essa classe é o programa principal da aplicaçãoEssa classe é o programa principal da aplicação
As demais classes serão modelos ou moldes dos objetos da aplicaçãoAs demais classes serão modelos ou moldes dos objetos da aplicação
Qualquer classe poderá instanciar objetos de outra classeQualquer classe poderá instanciar objetos de outra classe
Uma classe, em certas situações, poderá instanciar os seus próprios objetosUma classe, em certas situações, poderá instanciar os seus próprios objetos
Em Java, a criação de um objetoEm Java, a criação de um objeto objxobjx de uma classede uma classe ClasseXClasseX possui o seguintepossui o seguinte
formato:formato:
ClasseXClasseX objxobjx == newnew ClasseXClasseX();();
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVA E OBJETOSCLASSES JAVA E OBJETOS
Seja uma aplicação que permite acessar dados de pessoas.Seja uma aplicação que permite acessar dados de pessoas.
Neste caso, a aplicação terá duas classesNeste caso, a aplicação terá duas classes
A classe principal e uma classe para modelar objetos de pessoasA classe principal e uma classe para modelar objetos de pessoas
Exemplo de codificação da aplicação:Exemplo de codificação da aplicação:
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
Esta classe é o
molde para
objetos pessoa
Esta classe é o
molde para
objetos pessoa
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
publicstatic void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
Na codificação Java para se acessar (ou alterar)
o conteúdo de um atributo de um
determinado objeto, de uma forma geral,
deve-se informar o objeto seguido de ponto(.),
que é seguido pelo nome do atributo
Na codificação Java para se acessar (ou alterar)
o conteúdo de um atributo de um
determinado objeto, de uma forma geral,
deve-se informar o objeto seguido de ponto(.),
que é seguido pelo nome do atributo
Esta é a classe
principal da
aplicação. Ela
possui main()
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVA E OBJETOSCLASSES JAVA E OBJETOS
Complementos sobre a aplicaçãoComplementos sobre a aplicação
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
}
}
Instanciação do objeto pp
da classe PessoaPessoa
Instanciação do objeto pp
da classe PessoaPessoa
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVA E OBJETOSCLASSES JAVA E OBJETOS
Melhorando a aplicação.Melhorando a aplicação.
Escrevendo os dados do objeto PessoaEscrevendo os dados do objeto Pessoa
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
String s =“Nome=“+String s =“Nome=“+p.nome+”p.nome+”\\n”;n”;
s = s+”Idade=“+s = s+”Idade=“+p.idade;p.idade;
System.System.out.printout.print(s)(s)
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
String s =“Nome=“+String s =“Nome=“+p.nome+”p.nome+”\\n”;n”;
s = s+”Idade=“+s = s+”Idade=“+p.idade;p.idade;
System.System.out.printout.print(s)(s)
}
}
class Pessoa{
String nome;
int idade;
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
String s =“Nome=“+String s =“Nome=“+p.nome+”p.nome+”\\n”;n”;
s = s+”Idade=“+s = s+”Idade=“+p.idade;p.idade;
System.System.out.printout.print(s)(s)
}
}
class Principal {class Principal {
public static void main(String[] args) {
Pessoa p = new Pessoa();
p.nome = “Nome de Teste”;
p.idade= 25;
String s =“Nome=“+String s =“Nome=“+p.nome+”p.nome+”\\n”;n”;
s = s+”Idade=“+s = s+”Idade=“+p.idade;p.idade;
System.System.out.printout.print(s)(s)
}
}
Concatena os conteúdos de cada
atributo do objeto pp na variável String ss
Concatena os conteúdos de cada
atributo do objeto pp na variável String ss
POOPOO -- FUNDAMENTOSFUNDAMENTOS
CLASSES JAVA E OBJETOSCLASSES JAVA E OBJETOS –– Exercício de FixaçãoExercício de Fixação
ElaboreElabore umauma aplicaçãoaplicação queque permitapermita criarcriar
doisdois objetosobjetos dede umauma classeclasse Carro,Carro, sendosendo
queque essaessa classeclasse possuipossui osos seguintesseguintes
atributosatributos:: marcamarca (String),(String), modelo(String),modelo(String),
marcha(int),marcha(int), ano(int)ano(int).. AA aplicaçãoaplicação deverádeverá
solicitarsolicitar osos conteúdosconteúdos dede cadacada atributoatributo
pelopelo tecladoteclado e,e, emem seguida,seguida, devedeve escreverescrever
osos conteúdosconteúdos dede cadacada atributoatributo dosdos doisdois
objetosobjetos criadoscriados..
ElaboreElabore umauma aplicaçãoaplicação queque permitapermita criarcriar
doisdois objetosobjetos dede umauma classeclasse Carro,Carro, sendosendo
queque essaessa classeclasse possuipossui osos seguintesseguintes
atributosatributos:: marcamarca (String),(String), modelo(String),modelo(String),
marcha(int),marcha(int), ano(int)ano(int).. AA aplicaçãoaplicação deverádeverá
solicitarsolicitar osos conteúdosconteúdos dede cadacada atributoatributo
pelopelo tecladoteclado e,e, emem seguida,seguida, devedeve escreverescrever
osos conteúdosconteúdos dede cadacada atributoatributo dosdos doisdois
objetosobjetos criadoscriados..
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOSCOMPORTAMENTOS
Um comportamento expressa uma ação que um objeto ou instânciaUm comportamento expressa uma ação que um objeto ou instância
de uma classe pode executarde uma classe pode executar
Um comportamento expressa uma ação que um objeto ou instânciaUm comportamento expressa uma ação que um objeto ou instância
de uma classe pode executarde uma classe pode executar
Na POO um comportamento é expresso através deNa POO um comportamento é expresso através de MÉTODOSMÉTODOSNa POO um comportamento é expresso através deNa POO um comportamento é expresso através de MÉTODOSMÉTODOS
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método necessita de umUm método necessita de um IDENTIFICADORIDENTIFICADOR (um nome)(um nome) , de, de UMUM
TIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNOTIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNO
Um método necessita de umUm método necessita de um IDENTIFICADORIDENTIFICADOR (um nome)(um nome) , de, de UMUM
TIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNOTIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNO
O identificador de um método é constituído da mesma forma que oO identificador de um método é constituído da mesma forma que o
identificador de variáveisidentificador de variáveis (regra(regra CamelCamel Case)Case)
O identificador de um método é constituído da mesma forma que oO identificador de um método é constituído da mesma forma que o
identificador de variáveisidentificador de variáveis (regra(regra CamelCamel Case)Case)
Formato geral de um métodoFormato geral de um método
tipotipo nomeMetodonomeMetodo((par1par1 ,, par2par2) {//corpo do método}) {//corpo do método}
Formato geral de um métodoFormato geral de um método
tipotipo nomeMetodonomeMetodo((par1par1 ,, par2par2) {//corpo do método}) {//corpo do método}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOSCOMPORTAMENTOS
Um comportamento expressa uma ação que um objeto ou instânciaUm comportamento expressa uma ação que um objeto ou instância
de uma classe pode executarde uma classe pode executar
Um comportamento expressa uma ação que um objeto ou instânciaUm comportamento expressa uma ação que um objeto ou instância
de uma classe pode executarde uma classe pode executar
Na POO um comportamento é expresso através deNa POO um comportamento é expresso através de MÉTODOSMÉTODOSNa POO um comportamento é expresso através deNa POO um comportamento é expresso através de MÉTODOSMÉTODOS
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chavesque fica dentro de
uma classeuma classe
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
No caso de ocorrer a necessidade e retorno de algumaNo caso de ocorrer a necessidade e retorno de alguma
informação para o local que chamou o método, utilizainformação para o local que chamou o método, utiliza--sese
qualquer tipo de dado da linguagem Java (qualquer tipo de dado da linguagem Java (intint,, longlong,, floatfloat,,
doubledouble,, charchar, String e diversos outros)., String e diversos outros).
Caso não há necessidade de retorno de informações, o tipoCaso não há necessidade de retorno de informações, o tipo
do método édo método é voidvoid
Exemplos:Exemplos:
intint somaValoressomaValores((intint x,x, intint y){......}y){......}
voidvoid mostraMensagemmostraMensagem(String(String msgmsg){......}){......}
No caso de ocorrer a necessidade e retorno de algumaNo caso de ocorrer a necessidade e retorno de alguma
informação para o local que chamou o método, utilizainformação para o local que chamou o método, utiliza--sese
qualquer tipo de dado da linguagem Java (qualquer tipo de dado da linguagem Java (intint,, longlong,, floatfloat,,
doubledouble,, charchar, String e diversos outros)., String e diversos outros).
Caso não há necessidade de retorno de informações, o tipoCaso não há necessidade de retorno de informações, o tipo
do método édo método é voidvoid
Exemplos:Exemplos:
intint somaValoressomaValores((intint x,x, intint y){......}y){......}
voidvoid mostraMensagemmostraMensagem(String(String msgmsg){......}){......}
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método é um bloco de código entre chaves que fica dentro deUm método é um bloco de código entre chaves que fica dentro de
uma classeuma classe
Um método necessita de umUm método necessita de um IDENTIFICADORIDENTIFICADOR (um nome)(um nome) , de, de UMUM
TIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNOTIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNO
Um método necessita de umUm método necessita de um IDENTIFICADORIDENTIFICADOR (um nome)(um nome) , de, de UMUM
TIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNOTIPO QUE O DEFINA, UMA LISTA DE PARÂMETROS E DE RETORNO
O identificador de um método é constituído da mesma forma que oO identificador de um método é constituído da mesma forma que o
identificador de variáveisidentificador de variáveis (regra(regra CamelCamel Case)Case)
O identificador de um método é constituído da mesma forma que oO identificador de um método é constituído da mesma forma que o
identificador de variáveisidentificador de variáveis (regra(regra CamelCamel Case)Case)
Formato geral de um métodoFormato geral de um método
tipotipo nomeMetodonomeMetodo((par1par1 ,, par2par2) {//corpo do método}) {//corpo do método}
Formato geral de um métodoFormato geral de um método
tipotipo nomeMetodonomeMetodo((par1par1 ,, par2par2) {//corpo do método}) {//corpo do método}
No caso de ocorrer a necessidade e retorno de algumaNo caso de ocorrer a necessidade e retorno de alguma
informação para o local que chamou o método, utilizainformação para o local que chamou o método, utiliza--sese
qualquer tipo de dado da linguagem Java (qualquer tipo de dado da linguagem Java (intint,, longlong,, floatfloat,,
doubledouble,, charchar, String e diversos outros)., String e diversos outros).
Caso não há necessidade de retorno de informações, o tipoCaso não há necessidade de retorno de informações, o tipo
do método édo método é voidvoid
Exemplos:Exemplos:
intint somaValoressomaValores((intint x,x, intint y){......}y){......}
voidvoid mostraMensagemmostraMensagem(String(String msgmsg){......}){......}
No caso de ocorrer a necessidade e retorno de algumaNo caso de ocorrer a necessidade e retorno de alguma
informação para o local que chamou o método, utilizainformação para o local que chamou o método, utiliza--sese
qualquer tipo de dado da linguagem Java (qualquer tipo de dado da linguagem Java (intint,, longlong,, floatfloat,,
doubledouble,, charchar, String e diversos outros)., String e diversos outros).
Caso não há necessidade de retorno de informações, o tipoCaso não há necessidade de retorno de informações, o tipo
do método édo método é voidvoid
Exemplos:Exemplos:
intint somaValoressomaValores((intint x,x, intint y){......}y){......}
voidvoid mostraMensagemmostraMensagem(String(String msgmsg){......}){......}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOSCOMPORTAMENTOS –– (cont.)(cont.)
O tipo de retorno pode ser , por exemplo, umO tipo de retorno pode ser , por exemplo, um inteirointeiro,, decimaldecimal,, StringString,,
booleanobooleano,, arrayarray etc. O TIPO SERÁetc. O TIPO SERÁ voidvoid QUANDO NÃO HÁ RETORNOQUANDO NÃO HÁ RETORNO
O tipo de retorno pode ser , por exemplo, umO tipo de retorno pode ser , por exemplo, um inteirointeiro,, decimaldecimal,, StringString,,
booleanobooleano,, arrayarray etc. O TIPO SERÁetc. O TIPO SERÁ voidvoid QUANDO NÃO HÁ RETORNOQUANDO NÃO HÁ RETORNO
A lista de parâmetros poderá ter nenhum, um ou mais de umA lista de parâmetros poderá ter nenhum, um ou mais de um
parâmetro.parâmetro.
A lista de parâmetros poderá ter nenhum, um ou mais de umA lista de parâmetros poderá ter nenhum, um ou mais de um
parâmetro.parâmetro.
//trecho de uma classe//trecho de uma classe
voidvoid mostraMensagemmostraMensagem(){(){
System.System.out.printlnout.println(“teste”);(“teste”);
}}
voidvoid mostraMensagemmostraMensagem(String s){(String s){
System.System.out.printlnout.println(s);(s);
}}
intint soma(int a, int b){soma(int a, int b){
int resultado = a+b;int resultado = a+b;
returnreturn resultado;resultado;
}}
//trecho de uma classe//trecho de uma classe
voidvoid mostraMensagemmostraMensagem(){(){
System.System.out.printlnout.println(“teste”);(“teste”);
}}
voidvoid mostraMensagemmostraMensagem(String s){(String s){
System.System.out.printlnout.println(s);(s);
}}
intint soma(int a, int b){soma(int a, int b){
int resultado = a+b;int resultado = a+b;
returnreturn resultado;resultado;
}}
Tipo void. Sem retorno e sem parâmetrosTipo void. Sem retorno e sem parâmetros
//trecho de uma classe//trecho de uma classe
voidvoid mostraMensagemmostraMensagem(){(){
System.System.out.printlnout.println(“teste”);(“teste”);
}}
voidvoid mostraMensagemmostraMensagem(String s){(String s){
System.System.out.printlnout.println(s);(s);
}}
intint soma(int a, int b){soma(int a, int b){
int resultado = a+b;int resultado = a+b;
returnreturn resultado;resultado;
}}
//trecho de uma classe//trecho de uma classe
voidvoid mostraMensagemmostraMensagem(){(){
System.System.out.printlnout.println(“teste”);(“teste”);
}}
voidvoid mostraMensagemmostraMensagem(String s){(String s){
System.System.out.printlnout.println(s);(s);
}}
intint soma(int a, int b){soma(int a, int b){
int resultado = a+b;int resultado = a+b;
returnreturn resultado;resultado;
}}
Tipo void. Sem retorno e sem parâmetros
Tipo void. Sem retorno. Possui o parâmetro
ss do tipo String
Tipo int. Possui retorno. Possui os
parâmetros aa e bb, inteiros. Retorna o int
resultadoresultado
Tipo int. Possui retorno. Possui os
parâmetros aa e bb, inteiros. Retorna o int
resultadoresultado
POOPOO -- FUNDAMENTOSFUNDAMENTOS
••OO própriopróprio objetoobjeto realizarealiza operaçõesoperações dede consultaconsulta
ouou alteraçãoalteração dosdos valoresvalores dosdos seusseus atributosatributos
••EssasEssas operaçõesoperações sãosão definidasdefinidas emem seusseus métodosmétodos
••OsOs métodosmétodos tambémtambém sãosão utilizadosutilizados parapara
possibilitarpossibilitar interaçõesinterações entreentre osos objetosobjetos dede umauma
aplicaçãoaplicação (TROCA(TROCA DEDE MENSAGENS)MENSAGENS)••PorPor exemplo,exemplo, quandoquando umum clientecliente requisitarequisita umum
saquesaque atravésatravés dede umum caixacaixa eletrônicoeletrônico dodo banco,banco,
oo objetoobjeto queque representarepresenta oo caixacaixa eletrônicoeletrônico devedeve
interagirinteragir comcom oo objetoobjeto queque representarepresenta aa contaconta
dodo clientecliente
••NÃONÃO ESQUEÇAESQUEÇA::
ASAS TAREFASTAREFAS DEDE UMUM OBJETOOBJETO SÃOSÃO DEFINIDASDEFINIDAS EMEM
SEUSSEUS MÉTODOSMÉTODOS
COMPORTAMENTOSCOMPORTAMENTOS -- ObservaçõesObservações
••OO própriopróprio objetoobjeto realizarealiza operaçõesoperações dede consultaconsulta
ouou alteraçãoalteração dosdos valoresvalores dosdos seusseus atributosatributos
••EssasEssas operaçõesoperações sãosão definidasdefinidas emem seusseus métodosmétodos
••OsOs métodosmétodos tambémtambém sãosão utilizadosutilizados parapara
possibilitarpossibilitar interaçõesinterações entreentre osos objetosobjetos dede umauma
aplicaçãoaplicação (TROCA(TROCA DEDE MENSAGENS)MENSAGENS)
••PorPor exemplo,exemplo, quandoquando umum clientecliente requisitarequisita umum
saquesaque atravésatravés dede umum caixacaixa eletrônicoeletrônico dodo banco,banco,
oo objetoobjeto queque representarepresenta oo caixacaixa eletrônicoeletrônico devedeve
interagirinteragir comcom oo objetoobjeto queque representarepresenta aa contaconta
dodo clientecliente
••NÃONÃO ESQUEÇAESQUEÇA::
ASAS TAREFASTAREFAS DEDE UMUM OBJETOOBJETO SÃOSÃO DEFINIDASDEFINIDAS EMEM
SEUSSEUS MÉTODOSMÉTODOS
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOS (MÉTODOS)COMPORTAMENTOS (MÉTODOS) –– COMO FUNCIONAMCOMO FUNCIONAM
ConsidereConsidere umauma aplicaçãoaplicação simplessimples queque possuipossui 0303 classesclasses:: AA classeclasse principalprincipal (Principal(Principal..javajava),),
ReciboRecibo..javajava ee ChequeCheque..javajava.. AA classeclasse principalprincipal “chama”“chama” asas outrasoutras duasduas classes,classes, queque sãosão
utilizadasutilizadas parapara imprimir,imprimir, respectivamente,respectivamente, recibosrecibos ee chequescheques que,que, alémalém dede outrasoutras
informações,informações, imprimirãoimprimirão oo valorvalor informadoinformado porpor extensoextenso.. NoNo entanto,entanto, oo programadorprogramador nãonão
necessitanecessita codificarcodificar duasduas vezesvezes aa mesmamesma rotinarotina parapara escreverescrever oo valorvalor porpor extensoextenso parapara essasessas
duasduas classesclasses.. BastaBasta escreverescrever umauma vezvez ee referenciarreferenciar oo mesmomesmo códigocódigo parapara imprimirimprimir osos
respectivosrespectivos valoresvalores porpor extensoextenso..
Assim,Assim, podepode--sese utilizarutilizar umum métodométodo queque verificaverifica oo valorvalor informadoinformado ee retornaretorna esseesse valorvalor porpor
extensoextenso emem umauma StringString.. ObserveObserve aa ilustraçãoilustração aa seguirseguir::
Principal.java
Recibo.java
Cheque.java
extenso();
aa
aa
bb
bb
cc
cc
dd
dd
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOS (MÉTODOS)COMPORTAMENTOS (MÉTODOS) –– COMO FUNCIONAM (cont.)COMO FUNCIONAM (cont.)
Assim,Assim, oo métodométodo extenso()extenso() deverádeverá ficarficar emem algumaalguma classeclasse específicaespecífica.. EssaEssa classe,classe, entãoentão éé
referenciadareferenciada pelaspelas classesclasses ReciboRecibo..javajava ee ChequeCheque..javajava.. EsseEsse métodométodo podepode estarestar definidodefinido nana
classeclasse principalprincipal ouou emem outraoutra classeclasse.. ConsiderandoConsiderando queque esseesse métodométodo estejaesteja emem outraoutra classe,classe,
denominadadenominada dede UtilUtil..javajava,, entãoentão temostemos::
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
NoteNote queque oo métodométodo extensoextenso possuipossui umum tipotipo StringString nana suasua declaraçãodeclaração (a(a StringString retornoExtensoretornoExtenso))..
AA StringString retornadaretornada éé aa variávelvariável retornoExtensoretornoExtenso,, definidadefinida dentrodentro dodo métodométodo
QuandoQuando umum métodométodo nãonão retornaretorna nenhumnenhum conteúdo,conteúdo, eleele teráterá oo tipotipo voidvoid ee nãonão teráterá nenhumnenhum
comandocomando returnreturn emem seuseu interiorinterior..
ExemploExemplo::
voidvoid somasoma (int(int a,a, intint b)b) {{........................}}
Tipo do métodoTipo do método extensoextenso
Retorno do métodoRetorno do método extensoextenso
Assim,Assim, oo métodométodo extenso()extenso() deverádeverá ficarficar emem algumaalguma classeclasse específicaespecífica.. EssaEssa classe,classe, entãoentão éé
referenciadareferenciada pelaspelas classesclasses ReciboRecibo..javajava ee ChequeCheque..javajava.. EsseEsse métodométodo podepode estarestar definidodefinido nana
classeclasse principalprincipal ouou emem outraoutra classeclasse.. ConsiderandoConsiderando queque esseesse métodométodo estejaesteja emem outraoutra classe,classe,
denominadadenominada dede UtilUtil..javajava,, entãoentão temostemos::
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
NoteNote queque oo métodométodo extensoextenso possuipossui umum tipotipo StringString nana suasua declaraçãodeclaração (a(a StringString retornoExtensoretornoExtenso))..
AA StringString retornadaretornada éé aa variávelvariável retornoExtensoretornoExtenso,, definidadefinida dentrodentro dodo métodométodo
QuandoQuando umum métodométodo nãonão retornaretorna nenhumnenhum conteúdo,conteúdo, eleele teráterá oo tipotipo voidvoid ee nãonão teráterá nenhumnenhum
comandocomando returnreturn emem seuseu interiorinterior..
ExemploExemplo::
voidvoid somasoma (int(int a,a, intint b)b) {{........................}}
Retorno do métodoRetorno do método extensoextensoRetorno do métodoRetorno do método extensoextenso
O métodoO método somasoma não tem retorno,não tem retorno,
pois seu tipo épois seu tipo é voidvoid
Possui 2 parâmetros, separadosPossui 2 parâmetros, separados
por vírgulapor vírgula
Possui 2 parâmetros, separadosPossui 2 parâmetros, separados
por vírgulapor vírgula
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOS (MÉTODOS)COMPORTAMENTOS (MÉTODOS) –– COMO FUNCIONAM (cont.)COMO FUNCIONAM (cont.)
Assim,Assim, asas classesclasses ReciboRecibo..javajava ee ChequeCheque..javajava acessamacessam oo métodométodo extenso()extenso() dada classeclasse
UtilUtil..javajava..
ObserveObserve aa ilustraçãoilustração apenasapenas comcom aa classeclasse ReciboRecibo..javajava..
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Class Recibo{
float valorEmReal= ..... //Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
Util u = new Util();
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Class Recibo{
float valorEmReal= ..... //Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
Util u = new Util();
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
Class Recibo{
float valorEmReal= .....// Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
Util u = new Util();
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOS (MÉTODOS)COMPORTAMENTOS (MÉTODOS) –– COMO FUNCIONAM (cont.)COMO FUNCIONAM (cont.)
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Um método pode ter ou não parâmetros. O método extenso()extenso() possui um parâmetro
do tipo floatfloat. Assim, ele recebe um valor (que também deve ser do mesmo tipo).
O método Extenso()Extenso() retorna uma String porque ele foi definido como
String extenso(...); Por isso, quando um método é definido com o tipo void, como
voidvoid nome_metodonome_metodo, ele não efetua nenhum retorno.
Class Recibo{
float valorEmReal= .....// Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
Util u = new Util();
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Class Recibo{
float valorEmReal= .....// Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
UtilUtil uu == newnew UtilUtil()();;
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOS (MÉTODOS)COMPORTAMENTOS (MÉTODOS) –– COMO FUNCIONAM (cont.)COMO FUNCIONAM (cont.)
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Para que a classe Recibo.Para que a classe Recibo.javajava acesse o método da classeacesse o método da classe Util.javaUtil.java é necessárioé necessário
instanciarinstanciar Util.javaUtil.java na classe Recibo.na classe Recibo.javajava..
Assim, criouAssim, criou--se o objetose o objeto uu que é uma instância da classeque é uma instância da classe Util.javaUtil.java..
UtilUtil u =u = newnew UtilUtil();();
Class Recibo{
float valorEmReal= .....// Recebe digitação do valor
//usuário digita valor e este é armazenado na variável
// valorEmReal
UtilUtil uu == newnew UtilUtil()();;
String valorExtenso = u. extenso(valorEmReal) ;
//trecho de codigo que imprime o recibo usando a
variável valorExtenso
}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
classclass UtilUtil {{
StringString extenso(extenso(floatfloat valor)valor)
{{
////codigocodigo dodo métodométodo extensoextenso
............
StringString retornoExtensoretornoExtenso=“=“..............””;;
returnreturn retornoExtensoretornoExtenso;;
}}
Objeto uu acessa o método extensoextenso
POOPOO -- FUNDAMENTOSFUNDAMENTOS
UMLUML --NOÇÕESNOÇÕES
A UML (Linguagem de Modelagem Unificada) permite ao analista /A UML (Linguagem de Modelagem Unificada) permite ao analista /
projetista de software delinear o projeto através de diagramasprojetista de software delinear o projeto através de diagramas
Cada diagrama representa detalhes específicosCada diagrama representa detalhes específicos
Alguns tipos de diagramas da UML:Alguns tipos de diagramas da UML:
••Diagrama de casos de usoDiagrama de casos de uso
••Diagrama de classesDiagrama de classes
••Diagrama deDiagrama de sequênciasequência
••Diagrama de objetosDiagrama de objetos
A UML (Linguagem de Modelagem Unificada) permite ao analista /A UML (Linguagem de Modelagem Unificada) permite ao analista /
projetista de software delinear o projeto através de diagramasprojetista de software delinear o projeto através de diagramas
Cada diagrama representa detalhes específicosCada diagrama representa detalhes específicos
Alguns tipos de diagramas da UML:Alguns tipos de diagramas da UML:
••Diagrama de casos de usoDiagrama de casos de uso
••Diagrama de classesDiagrama de classes
••Diagrama deDiagrama de sequênciasequência
••Diagrama de objetosDiagrama de objetos
POOPOO -- FUNDAMENTOSFUNDAMENTOS
REPRESENTAÇÃO DE CLASSES JAVA / UMLREPRESENTAÇÃO DE CLASSES JAVA / UML
Pessoa
String: nome
int: idade
String : cpf
String : profissao
andar()
dancar()
trabalhar()
class Pessoaclass Pessoa
{{
String nome;String nome;
int idade;int idade;
String cpf;String cpf;
String profissao;String profissao;
void andar(){....}void andar(){....}
int dancar(){......}int dancar(){......}
String trabalhar(){.....}String trabalhar(){.....}
}}
Nome da
classe
OBJETO PESSOAOBJETO PESSOA
Pessoa
String: nome
int: idade
String : cpf
String : profissao
andar()
dancar()
trabalhar()
class Pessoaclass Pessoa
{{
String nome;String nome;
int idade;int idade;
String cpf;String cpf;
String profissao;String profissao;
void andar(){....}void andar(){....}
int dancar(){......}int dancar(){......}
String trabalhar(){.....}String trabalhar(){.....}
}}
REPRESENTAÇÃOREPRESENTAÇÃO
UMLUML
REPRESENTAÇÃOREPRESENTAÇÃO
CÓDIGO JAVACÓDIGO JAVA
atributos
métodos
POOPOO -- FUNDAMENTOSFUNDAMENTOS
Carro
String: marca
int: ano
String : modelo
int: potencia
Int: velocidade
andar()
mudarMarcha()
alterarVelocidade()
class Carroclass Carro
{{
String marca;String marca;
int ano;int ano;
String modelo;String modelo;
int potencia;int potencia;
int velocidade;int velocidade;
void andar(){....}void andar(){....}
int mudarMarcha(){......}int mudarMarcha(){......}
int alterarVelocidade(){.....}int alterarVelocidade(){.....}
}}
Nome da
classe
OBJETO CARROOBJETO CARRO
REPRESENTAÇÃO DE CLASSES JAVA / UMLREPRESENTAÇÃO DE CLASSES JAVA / UML
Carro
String: marca
int: ano
String : modelo
int:potencia
Int: velocidade
andar()
mudarMarcha()
alterarVelocidade()
class Carroclass Carro
{{
String marca;String marca;
int ano;int ano;
String modelo;String modelo;
int potencia;int potencia;
int velocidade;int velocidade;
void andar(){....}void andar(){....}
int mudarMarcha(){......}int mudarMarcha(){......}
int alterarVelocidade(){.....}int alterarVelocidade(){.....}
}}
REPRESENTAÇÃOREPRESENTAÇÃO
UMLUML
REPRESENTAÇÃOREPRESENTAÇÃO
CÓDIGO JAVACÓDIGO JAVA
atributos
métodos
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOSCOMPORTAMENTOS –– cont.cont.
Um parâmetro possui umUm parâmetro possui um TIPOTIPO e ume um IDENTIFICADORIDENTIFICADORUm parâmetro possui umUm parâmetro possui um TIPOTIPO e ume um IDENTIFICADORIDENTIFICADOR
Um parâmetro recebe valores de outros locais da aplicaçãoUm parâmetro recebe valores de outros locais da aplicaçãoUm parâmetro recebe valores de outros locais da aplicaçãoUm parâmetro recebe valores de outros locais da aplicação
Quando existir mais de um parâmetro, deveQuando existir mais de um parâmetro, deve--se separáse separá--los por vírgulalos por vírgulaQuando existir mais de um parâmetro, deveQuando existir mais de um parâmetro, deve--se separáse separá--los por vírgulalos por vírgula
Tipo doTipo do
retornoretorno
Tipo doTipo do
retornoretorno
O uso de parâmetro em um método éO uso de parâmetro em um método é
opcional, depende da necessidadeopcional, depende da necessidade
UseUse returnreturn
parapara
retornar umretornar um
conteúdoconteúdo
UseUse returnreturn
parapara
retornar umretornar um
conteúdoconteúdo
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOSCOMPORTAMENTOS –– cont.cont.
Tipo doTipo do
retornoretorno
Tipo doTipo do
retornoretorno
classclass TesteTeste
{{
String extenso(String extenso(doubledouble v,v, intint x)x)
{{
String extenso;String extenso;
// instruções// instruções
returnreturn extenso;extenso;
}}
}}
classclass TesteTeste
{{
String extenso(String extenso(doubledouble v,v, intint x)x)
{{
String extenso;String extenso;
// instruções// instruções
returnreturn extenso;extenso;
}}
}}
Possui doisPossui dois
parâmetrosparâmetros
UseUse returnreturn
parapara
retornar umretornar um
conteúdoconteúdo
UseUse returnreturn
parapara
retornar umretornar um
conteúdoconteúdo
classclass TesteTeste
{{
String extenso(String extenso(doubledouble v,v, intint x)x)
{{
String extenso;String extenso;
// instruções// instruções
returnreturn extenso;extenso;
}}
}}
classclass TesteTeste
{{
String extenso(String extenso(doubledouble v,v, intint x)x)
{{
String extenso;String extenso;
// instruções// instruções
returnreturn extenso;extenso;
}}
}}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTO / variável localCOMPORTAMENTO / variável local –– cont.cont.
••PodePode--sese criarcriar variáveisvariáveis dentrodentro dede umum métodométodo
••EssasEssas variáveisvariáveis sãosão denominadasdenominadas dede VARIÁVEISVARIÁVEIS LOCAISLOCAIS
••PodePode--sese criarcriar variáveisvariáveis dentrodentro dede umum métodométodo
••EssasEssas variáveisvariáveis sãosão denominadasdenominadas dede VARIÁVEISVARIÁVEIS LOCAISLOCAIS
OO ciclociclo dede vidavida dede umauma VARIÁVELVARIÁVEL LOCALLOCAL duradura enquantoenquanto oo
métodométodo estiverestiver sendosendo executadoexecutado
OO ciclociclo dede vidavida dede umauma VARIÁVELVARIÁVEL LOCALLOCAL duradura enquantoenquanto oo
métodométodo estiverestiver sendosendo executadoexecutado
OO ciclociclo dede vidavida dede umauma VARIÁVELVARIÁVEL LOCALLOCAL duradura enquantoenquanto oo
métodométodo estiverestiver sendosendo executadoexecutado
OO ciclociclo dede vidavida dede umauma VARIÁVELVARIÁVEL LOCALLOCAL duradura enquantoenquanto oo
métodométodo estiverestiver sendosendo executadoexecutado
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOCOMPORTAMENTO –– MAIS UM EXEMPLOMAIS UM EXEMPLO
class Calculo
{
int x;
int y;
int total;
void somaNumeros(int a, int b)
{
total = a + b;
x = a;
y = b;
}
int produto(int a, int b)
{
int total = a * b;
return total;
}
}
Esse método recebe
dois valores inteiros e
soma-os, armazenando
o resultado no atributo
totaltotal da classe CalculoCalculo.
Depois, atribui os
respectivos valores
para os atributos xx e yy
Esse método recebe
dois valores inteiros e
soma-os, armazenando
o resultado no atributo
totaltotal da classe CalculoCalculo.
Depois, atribui os
respectivos valores
para os atributos xx e yy
Note que o método produtoproduto
definiu uma variável local como
totaltotal,, que possui o mesmo nome
do atributo totaltotal da classe. Neste
caso, da forma que está, o método
reconhece apenas a variável local.
class Calculo
{
int x;
int y;
int total;
void somaNumeros(int a, int b)
{
total = a + b;
x = a;
y = b;
}
int produto(int a, int b)
{
int total = a * b;
return total;
}
}
Esse método recebe
dois valores inteiros e
efetua o produto entre
eles, armazenando o
resultado na variável
local totaltotal, retornando
esse valor
Esse método recebe
dois valores inteiros e
efetua o produto entre
eles, armazenando o
resultado na variável
local totaltotal, retornando
esse valor
Note que o método produtoproduto
definiu uma variável local como
totaltotal,, que possui o mesmo nome
do atributo totaltotal da classe. Neste
caso, da forma que está, o método
reconhece apenas a variável local.
É possível atribuir o valor da
variável totaltotal local ao conteúdo
da variável de classe totaltotal ?
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOCOMPORTAMENTO –– MAIS UM EXEMPLO (cont.)MAIS UM EXEMPLO (cont.)
Considere o método produtoA indicado na classe Calculo:
class Calculo
{
int x;
int y;
int total;
void produtoA(int a, int b)
{
int total = a * b;
this.total = total;
}
}
A expressão thisthis.total = total;.total = total; atribui o valor da variável local totaltotal à variável de classe totaltotal
A distinção entre as duas variáveis (locallocal e de classeclasse) se torna clara devido ao thisthis antes da variável total
da classe
Assim, quando se deseja referenciar um atributo de uma determinada classe, dentro da própria classe,
utiliza-se, opcionalmente, o thisthis seguido do ponto e este seguido pelo nome do atributo
Considere o método produtoA indicado na classe Calculo:
class Calculo
{
int x;
int y;
int total;
void produtoA(int a, int b)
{
int total = a * b;
this.total = total;
}
}
A expressão thisthis.total = total;.total = total; atribui o valor da variável local totaltotal à variável de classe totaltotal
A distinção entre as duas variáveis (locallocal e de classeclasse) se torna clara devido ao thisthis antes da variável total
da classe
Assim, quando se deseja referenciar um atributo de uma determinada classe, dentro da própria classe,
utiliza-se, opcionalmente, o thisthis seguido do ponto e este seguido pelo nome do atributo
thisthis..nome_atributonome_atributo
POOPOO -- FUNDAMENTOSFUNDAMENTOS
COMPORTAMENTOCOMPORTAMENTO –– MAIS UM EXEMPLOMAIS UM EXEMPLO
UsaUsa--se ose o thisthis
parapara
referenciar asreferenciar as
variáveis devariáveis de
instânciainstância
dentro dadentro da
própria classeprópria classe
UsaUsa--se ose o thisthis
parapara
referenciar asreferenciar as
variáveis devariáveis de
instânciainstância
dentro dadentro da
própria classeprópria classe
class Calculo
{
int x;
int y;
int total;
void somaNumeros(int a, int b)
{
total = a + b;
x = a;
y = b;
}
int produtoA(int a, int b)
{
int total = a * b;
return total;
}
void produtoA(int a, int b)
{
int total = a * b;
this.total = total;
}
}
UsaUsa--se ose o thisthis
parapara
referenciar asreferenciar as
variáveis devariáveis de
instânciainstância
dentro dadentro da
própria classeprópria classe
UsaUsa--se oseo thisthis
parapara
referenciar asreferenciar as
variáveis devariáveis de
instânciainstância
dentro dadentro da
própria classeprópria classe
this . total = total;
Pode ser umPode ser um
parâmetroparâmetro ou umaou uma
variável localvariável local
class Calculo
{
int x;
int y;
int total;
void somaNumeros(int a, int b)
{
total = a + b;
x = a;
y = b;
}
int produtoA(int a, int b)
{
int total = a * b;
return total;
}
void produtoA(int a, int b)
{
int total = a * b;
this.total = total;
}
}
POOPOO -- FUNDAMENTOSFUNDAMENTOS
Exercícios de FixaçãoExercícios de Fixação
1. Elabore um aplicativo que possua a classe Principal.java e a classe Calculo.java. A classe Calculo possui
os métodos somar, dividir, multiplicar e subtrair. Todos recebem dois números inteiros como parâmetros
e devem retornar um tipo inteiro como resultado da respectiva operação. A classe Principal.java deve
instanciar a classe Calculo.java e solicitar dois valores, A e B, pelo teclado e, através dos métodos da
classe Calculo.java, calcular cada uma das 04 operações e escrever os respectivos resultados.
2. Considerando a mesma classe Calculo. Java do exercício anterior, crie o programa Principal_01.java que,
através de um menu de opções numéricas, efetue a respectiva operação em Calculo.java e apresente o
respectivo resultado. O menu deve apresentar as seguintes opções:
1.Adição
2.Subtração
3.Multiplicação
4.Divisão
5.Fim
3. Melhore o aplicativo da questão 2 de tal forma que a classe Calculo.java permita ativar um (novo)
método específico, em sua estrutura, que apresente uma mensagem de erro quando uma divisão ou
subtração for inválida. A subtração será inválida caso o resultado seja negativo e a operação divisão
apresentará um erro quando se tentar dividir por zero. Esse novo método deverá receber uma String
como mensagem e escrever a respectiva mensagem , recebida como parâmetro.
1. Elabore um aplicativo que possua a classe Principal.java e a classe Calculo.java. A classe Calculo possui
os métodos somar, dividir, multiplicar e subtrair. Todos recebem dois números inteiros como parâmetros
e devem retornar um tipo inteiro como resultado da respectiva operação. A classe Principal.java deve
instanciar a classe Calculo.java e solicitar dois valores, A e B, pelo teclado e, através dos métodos da
classe Calculo.java, calcular cada uma das 04 operações e escrever os respectivos resultados.
2. Considerando a mesma classe Calculo. Java do exercício anterior, crie o programa Principal_01.java que,
através de um menu de opções numéricas, efetue a respectiva operação em Calculo.java e apresente o
respectivo resultado. O menu deve apresentar as seguintes opções:
1.Adição
2.Subtração
3.Multiplicação
4.Divisão
5.Fim
3. Melhore o aplicativo da questão 2 de tal forma que a classe Calculo.java permita ativar um (novo)
método específico, em sua estrutura, que apresente uma mensagem de erro quando uma divisão ou
subtração for inválida. A subtração será inválida caso o resultado seja negativo e a operação divisão
apresentará um erro quando se tentar dividir por zero. Esse novo método deverá receber uma String
como mensagem e escrever a respectiva mensagem , recebida como parâmetro.
POOPOO -- FUNDAMENTOSFUNDAMENTOS
INSTANCIANDO OBJETOSINSTANCIANDO OBJETOS -- ComplementosComplementos
••UmUm métodométodo construtorconstrutor possuipossui oo mesmomesmo nomenome dada classeclasse
••OO nomenome dodo métodométodo construtorconstrutor sese iniciainicia comcom letraletra maiúsculamaiúscula
••UmUm métodométodo construtorconstrutor éé responsávelresponsável porpor criarcriar objetosobjetos
••UmUm métodométodo construtorconstrutor possuipossui oo mesmomesmo nomenome dada classeclasse
••OO nomenome dodo métodométodo construtorconstrutor sese iniciainicia comcom letraletra maiúsculamaiúscula
••UmUm métodométodo construtorconstrutor éé responsávelresponsável porpor criarcriar objetosobjetos
InstanciaçãoInstanciação dede objetosobjetos –– FormatoFormato
nomeDaClassenomeDaClasse identificadoridentificador == newnew métodoConstrutor()métodoConstrutor()
InstanciaçãoInstanciação dede objetosobjetos –– FormatoFormato
nomeDaClassenomeDaClasse identificadoridentificador == newnew métodoConstrutor()métodoConstrutor()
InstanciaçãoInstanciação dede objetosobjetos –– FormatoFormato
nomeDaClassenomeDaClasse identificadoridentificador == newnew métodoConstrutor()métodoConstrutor()
InstanciaçãoInstanciação dede objetosobjetos –– FormatoFormato
nomeDaClassenomeDaClasse identificadoridentificador == newnew métodoConstrutor()métodoConstrutor()
• Quando uma classe não possui um método construtor, a linguagem Java
utiliza o método construtor da classe “responsável” por todas as classes
Java, denominada de Object. Neste caso, esse método inicializa todos os
atributos da classe com valores padrão (tipos numéricos com zero (0), String
com null, booleanos com false).
• Quando uma classe não possui um método construtor, a linguagem Java
utiliza o método construtor da classe “responsável” por todas as classes
Java, denominada de Object. Neste caso, esse método inicializa todos os
atributos da classe com valores padrão (tipos numéricos com zero (0), String
com null, booleanos com false).
POOPOO -- FUNDAMENTOSFUNDAMENTOS
INSTANCIANDO OBJETOSINSTANCIANDO OBJETOS –– Complementos (Complementos (contcont))
public INDICA QUE O ELEMENTO PODE
SER ACESSADO POR QUALQUER CLASSE
DE UMA APLICAÇÃO. É UM TERMO
USADO PARA DAR VISIBILIDADE AOS
MÉTODOS E ATRIBUTOS DE UMA
CLASSE.
visibilidadesvisibilidades
PublicPublic
PrivatePrivate
protectedprotected
A LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM OA LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM O
MESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOSMESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOS
DIFERENTES OU QUANTIDADE DIFERENTE DE PARÂMETROSDIFERENTES OU QUANTIDADE DIFERENTE DE PARÂMETROS
A LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM OA LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM O
MESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOSMESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOS
DIFERENTES OU QUANTIDADE DIFERENTE DE PARÂMETROSDIFERENTES OU QUANTIDADE DIFERENTE DE PARÂMETROS
POOPOO -- FUNDAMENTOSFUNDAMENTOS
INSTANCIANDO OBJETOSINSTANCIANDO OBJETOS –– Complementos (Complementos (contcont))
public INDICA QUE O MÉTODO PODE
SER ACESSADO POR QUALQUER CLASSE
DE UMA APLICAÇÃO. É UM TERMO
USADO PARA DAR VISIBILIDADE AOS
MÉTODOS E ATRIBUTOS DE UMA
CLASSE.DenominaDenomina--se dese de
SOBRECARGA DE MÉTODOSSOBRECARGA DE MÉTODOS
quando se tem mais de umquando se tem mais de um
método com o mesmométodo com o mesmo
nome em uma classenome em uma classe
DenominaDenomina--se dese de
SOBRECARGA DE MÉTODOSSOBRECARGA DE MÉTODOS
quando se tem mais de umquando se tem mais de um
método com o mesmométodo com o mesmo
nome em uma classenome em uma classe
visibilidadesvisibilidades
PublicPublic
PrivatePrivate
protectedprotected
A LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM OA LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM O
MESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOSMESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOS
DIFERENTES, OU QUANTIDADE DIFERENTE DE PARÂMETROS OUDIFERENTES, OU QUANTIDADE DIFERENTE DE PARÂMETROS OU
DIFERENTES POSIÇÕES DOS TIPOSDIFERENTES POSIÇÕES DOS TIPOS
A LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM OA LINGUAGEM JAVA PERMITE A CRIAÇÃO DE VÁRIOS MÉTODOS COM O
MESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOSMESMO NOME, DESDE QUE TENHAM OU PARÂMETROS DE TIPOS
DIFERENTES, OU QUANTIDADE DIFERENTE DE PARÂMETROS OUDIFERENTES, OU QUANTIDADE DIFERENTE DE PARÂMETROS OU
DIFERENTES POSIÇÕES DOS TIPOSDIFERENTES POSIÇÕES DOS TIPOS
DenominaDenomina--se dese de
SOBRECARGA DE MÉTODOSSOBRECARGA DE MÉTODOS
quando se tem mais de umquando se tem mais de ummétodo com o mesmométodo com o mesmo
nome em uma classenome em uma classe
DenominaDenomina--se dese de
SOBRECARGA DE MÉTODOSSOBRECARGA DE MÉTODOS
quando se tem mais de umquando se tem mais de um
método com o mesmométodo com o mesmo
nome em uma classenome em uma classe
POOPOO -- FUNDAMENTOSFUNDAMENTOS
INSTANCIANDO OBJETOSINSTANCIANDO OBJETOS –– Complementos (Complementos (contcont))
Carro objCarroX = new Carro(1500);Carro objCarroX = new Carro(1500);
Carro objCarroY = new Carro(1600,”GM”);Carro objCarroY = new Carro(1600,”GM”);
EXEMPLO DEEXEMPLO DE
INSTÂNCIASINSTÂNCIAS
EXEMPLO DEEXEMPLO DE
INSTÂNCIASINSTÂNCIAS
EXEMPLO DEEXEMPLO DE
INSTÂNCIASINSTÂNCIAS
EXEMPLO DEEXEMPLO DE
INSTÂNCIASINSTÂNCIAS
EXEMPLO EMEXEMPLO EM
UMUM
PROGRAMAPROGRAMA
EXEMPLO EMEXEMPLO EM
UMUM
PROGRAMAPROGRAMA
POOPOO -- FUNDAMENTOSFUNDAMENTOS
Exercício de FixaçãoExercício de Fixação
ElaboreElabore umum programaprograma JavaJava queque permitapermita criarcriar quatroquatro
objetosobjetos dada classeclasse Carro,Carro, sendosendo queque cadacada umum devedeve
serser criadocriado comcom umum construtorconstrutor distinto,distinto, sendosendo queque
umum dessesdesses métodosmétodos devedeve possuirpossuir oo seuseu corpocorpo vaziovazio..
EscreverEscrever cadacada umum dosdos atributosatributos dede cadacada umum dessesdesses
quatroquatro objetosobjetos..
ElaboreElabore umum programaprograma JavaJava queque permitapermita criarcriar quatroquatro
objetosobjetos dada classeclasse Carro,Carro, sendosendo queque cadacada umum devedeve
serser criadocriado comcom umum construtorconstrutor distinto,distinto, sendosendo queque
umum dessesdesses métodosmétodos devedeve possuirpossuir oo seuseu corpocorpo vaziovazio..
EscreverEscrever cadacada umum dosdos atributosatributos dede cadacada umum dessesdesses
quatroquatro objetosobjetos..
F I MF I MF I MF I M

Outros materiais