Académique Documents
Professionnel Documents
Culture Documents
Janeiro DE 2013
FORTALEZA/CEAR
Informtica - POO/JAVA
Apresentao
No intuito de deixar claro (o) professor (a) o que esperado do aluno ao final da
disciplina, este manual prope os objetivos de aprendizagem referentes ao tema, acompanhado
do contedo da disciplina. Disponibiliza uma bibliografia para o (a) professor (a), subsidiando-o
(a) para aprofundar os debates, bem como, uma bibliografia de referncia.
Elaborado no intuito de qualificar o processo de formao, este Manual um
instrumento pedaggico que se constitui como um mediador para facilitar o processo de ensinoaprendizagem em sala de aula.
A disciplina de POO/Java faz parte do eixo de programao Java para Desktop e segue
um fio condutor iniciado pela Lgica de Programao e ser seguida pela disciplina de Banco de
Dados, e posteriormente por Laboratrio de Software.
O principal objetivo deste manual apresentar para o aluno uma alternativa para o
processo de desenvolvimento de software orientado a objetos, embora existam outros processos,
outros padres, em fim, outras alternativas que, certamente, eles iro se deparar no mundo do
trabalho. Esta experincia o far entender a importncia do processo de desenvolvimento de
software para termos produtos eficiente e eficaz.
Sendo assim, temos a apresentao da UML, na Fase I do manual, ferramenta de
documentao de projetos de software mais usada pelo mercado atualmente. Na Fase II,
descrevemos alguns itens complementares da linguagem Java que no foram abordados no
manual de Lgica de Programao, mas julgamos importantes. Em seguida temos a Fase III,
onde teremos os conceitos de Orientao a Objetos. Por fim, na Fase IV, iremos implementar um
projeto usando padro MVC e interface usando Java.swing, como a essa altura os conceitos de
banco de dados ainda no foram aprendidos, usaremos uma simulao do banco baseada em
vetores de objetos.
importante que o (a) professor (a) compreenda o propsito do mtodo do curso, e
assim, se aproprie do contedo e da metodologia proposta por meio das atividades pedaggicas,
fazendo um estudo cuidadoso deste Manual e buscando aperfeioar sua didtica para conduzir
com sucesso as atividades propostas. Assim, Esperamos contribuir com a consolidao do
compromisso e envolvimento de todos (professores e alunos) na formao desses profissionais.
Informtica - POO/JAVA
Apostila
Sumrio da Apostila
FASE I A UML COMO FERRAMENTA DE PROGRAMAO ORIENTADA A OBJETOS ............................. 7
1 INTRODUO A SISTEMAS ........................................................................................................... 7
1.1 MODELAGEM DE SISTEMAS ............................................................................................................. 7
1.2 DADO, CONHECIMENTO E INFORMAO. ............................................................................................ 8
1.3 O QUE UM SISTEMA ..................................................................................................................... 9
1.4 COMO CONSTRUIR UM SISTEMA DE INFORMAO BASEADO EM COMPUTADOR .......................................... 10
1.5 O PAPEL DO ANALISTA DE SISTEMAS ................................................................................................ 11
1.6 FASES DO DESENVOLVIMENTO DE SISTEMAS ....................................................................................... 12
1.6.1 CONCEPO DO SISTEMA ..................................................................................................................... 12
1.6.2 ESTUDO DA VIABILIDADE ...................................................................................................................... 12
1.6.3 PROCESSO DE ANLISE......................................................................................................................... 12
1.6.4 PROJETO DO SISTEMA .......................................................................................................................... 13
1.6.5 PROJETO DETALHADO.......................................................................................................................... 13
1.6.6 IMPLEMENTAO................................................................................................................................ 13
1.6.7 IMPLANTAO E MANUTENO ............................................................................................................ 14
2 REQUISITOS ............................................................................................................................... 15
2.1 INTRODUO ............................................................................................................................. 15
2.2 LEVANTAMENTO DE REQUISITOS ..................................................................................................... 15
2.2.1 ENTREVISTA ....................................................................................................................................... 15
2.2.2 PESQUISA .......................................................................................................................................... 16
2.2.3 QUESTIONRIO................................................................................................................................... 16
2.2.4 REUNIES .......................................................................................................................................... 16
2.2.5 OBSERVAES .................................................................................................................................... 16
2.2.6 ANLISE DE REQUISITOS ....................................................................................................................... 16
3 HISTRIA E EVOLUO DA UML ................................................................................................. 18
4 DIAGRAMAS ESTRUTURAIS DA UML ........................................................................................... 19
4.1
4.2
4.3
4.4
4.5
Informtica - POO/JAVA
10 ENCAPSULAMENTO.................................................................................................................. 51
10.1 O QUE ENCAPSULAMENTO? ....................................................................................................... 51
10.1.1 MODIFICADORES DE ACESSO............................................................................................................... 51
10.1.2 ACESSO PBLICO (PUBLIC) ................................................................................................................. 51
10.1.3 ACESSO PRIVADO (PRIVATE) ............................................................................................................... 51
10.1.4 ACESSO PROTEGIDO (PROTECTED) ....................................................................................................... 51
10.1.5 MTODOS GET E SET ......................................................................................................................... 51
11 HERANA................................................................................................................................. 55
11.1
11.2
11.3
11.4
12 POLIMORFISMO ....................................................................................................................... 59
12.1 O QUE POLIMORFISMO? ........................................................................................................... 59
12.2 SOBRECARGA DE MTODOS.......................................................................................................... 60
12.3 CLASSES E MTODOS ABSTRATOS ................................................................................................... 62
FASE IV PROJETO ORIENTADO A OBJETOS ..................................................................................... 64
13 CONHECENDO E ORGANIZANDO UM PROJETO NO PADRO MVC ............................................. 64
13.1 ENTENDO O PADRO MODEL-VIEW-CONTROLLER MVC .................................................................. 64
14 IMPLEMENTAO DO PROJETO ................................................................................................ 66
14.1 IDENTIFICAO DO PROJETO ........................................................................................................ 66
14.2 CRIANDO O PROJETO.................................................................................................................. 66
14.3 CRIANDO OS PACOTES MVC ........................................................................................................ 68
14.4 PACOTE MODEL ........................................................................................................................ 69
14.5 PACOTE VIEW........................................................................................................................... 72
14.5.1 TELA DE LOGIN ................................................................................................................................. 72
14.5.2 TELA DE CADASTRO DE PRODUTOS....................................................................................................... 77
14.5.3 CODIFICANDO O BOTO OK DA TELA DE LOGIN ..................................................................................... 78
14.5.4 CODIFICANDO O BOTO CADASTRAR DA TELA DE PRODUTO..................................................................... 80
14.5.5 CODIFICANDO O BOTO BUSCAR DA TELA DE PRODUTO .......................................................................... 83
14.5.6 CODIFICANDO O BOTO ALTERAR DA TELA DE PRODUTO ......................................................................... 85
14.5.7 CODIFICANDO O BOTO EXCLUIR NA TELA DE PRODUTO ......................................................................... 86
14.6 GERANDO UM ARQUIVO EXECUTVEL DO SISTEMA ............................................................................ 87
Informtica - POO/JAVA
Informtica - POO/JAVA
imagens
abaixo
distino
entre
Dados,
Informaes e
DADO
INFORMAO
Simples observaes
Dados dotados de
sobre o estado do mundo relevncia e propsito
Facilmente estruturado
Facilmente
obtido
por Exige
consenso
em
mquinas
relao ao significado
Frequentemente
Exige necessariamente a
quantificado
mediao humana
Facilmente transfervel
Informtica - POO/JAVA
CONHECIMENTO
Informao valiosa da
mente humana. Inclui
reflexo, sntese,
contexto.
De difcil estruturao
De difcil captura em
mquinas
Frequentemente tcito
De difcil transferncia
Exemplo
Atravs dos conceitos acima, j podemos ter uma ideia do significado de dados,
informaes e conhecimentos para um Sistema de Informao. Vamos analisar um
exemplo:
Milena aluna de uma EEEP. Assim como todos os demais, possui um boletim
com notas de diversas disciplinas. Essas notas nada mais so do que nmeros que de
alguma forma foram friamente calculados, gerados e impressos em um papel atravs
de uma programao. As notas ali contidas so nada mais do que dados.
Se analisarmos seu boletim, podemos observar que todas as suas notas so boas,
pois esto bem acima da mdia. Contextualizando esses dados, obtemos uma
informao: Milena uma tima aluna.
Indo mais alm, analisando o seu comportamento, temos que ela uma aluna
proativa em sala de aula, administra bem o seu tempo, utiliza as aulas de estudo para
de fato estudar e pratica a TESE como sua filosofia de vida. Contextualizando essas
informaes chegamos a um conhecimento sobre a pessoa de Milena.
1.3
O que um sistema
1.4
10
1.5
muito difcil criar produtos usando grupos foco. Muitas vezes, as pessoas
no sabem o que elas querem at que voc mostre a elas.
Steve Jobs
Informtica - POO/JAVA
11
1.6
Concepo do Sistema
Estudo da Viabilidade
Processo de Anlise
12
Projeto do Sistema
Projeto Detalhado
1.6.6
Implementao
Informtica - POO/JAVA
13
Implantao e Manuteno
Informtica - POO/JAVA
14
2 Requisitos
2.1 Introduo
Os requisitos de um sistema so os elementos que a equipe de desenvolvimento
precisa conhecer para que o software seja desenvolvido. So as necessidades que
devero ser atendidas pelo sistema de informao que ser proposto. Em posse
dessas informaes, o analista tem propriedade para propor solues, especificar e
desenvolver um sistema de informao. Segundo Sewbok, Um requisito de software
uma propriedade que deve ser implementada para resolver um problema do mundo
real.
Acontece que tomar conhecimento desses requisitos uma tarefa que, na prtica,
no to simples como parece. Muitas vezes os prprios gestores e usurios no
conseguem expressar claramente seus objetivos. Por desconhecerem os
procedimentos tcnicos que regem um Sistema de Informao, muitas vezes eles
ocultam informaes de extrema importncia, fundamentais para o planejamento da
soluo.
Nesse ponto, a atuao do analista de sistemas decisiva para o sucesso ou no
do trabalho. Dificilmente todas essas informaes iro estar reunidas em uma pessoa
s, portando o analista tem que conversar com pessoas de todos os setores que iro
utilizar o sistema, pois precisa ter uma viso de todas as funcionalidades que ir
implementar. preciso conhecer a dinmica de trabalho de cada envolvido. Por
exemplo, dificilmente o gerente de vendas de uma empresa saber com preciso como
o almoxarifado controla a sada de produtos, ou como exatamente a cozinha mantm o
controle sobre seu estoque, portando, atribuio do analista capturar esse processo
pessoalmente.
2.2
Levantamento de requisitos
Entrevista
15
Pesquisa
Embora a entrevista seja uma tcnica altamente eficaz, no deve ser a nica fonte
de levantamento de requisitos. Outra forma de se obter dados interessantes a
pesquisa. O analista poder analisar documentos e relatrios gerados em diversos
setores, alm de arquivos, e baseado neles tirar outras concluses, que podem vir a
somar com o resultado j obtido na entrevista.
2.2.3
Questionrio
Reunies
Observaes
Anlise de Requisitos
Requisitos Funcionais
Requisitos funcionais so aqueles que descrevem funcionalidades que o sistema
deve ter para atender s expectativas dos usurios. Por exemplo:
O software dever calcular a mdia de notas dos alunos;
O software dever enviar, a cada semestre, um email para os pais com o
boletim de seus filhos em anexo;
O software dever emitir relatrio de compras quinzenalmente;
O software dever alertar ao chefe do restaurante quando o estoque estiver
abaixo do estabelecido.
Requisitos No Funcionais
J os requisitos no funcionais so aqueles que descrevem as caractersticas do
sistema, como usabilidade, desempenho, confiabilidade, custo, etc. So exemplos de
requisitos no funcionais:
Informtica - POO/JAVA
16
Gerentes do fornecedor
Arquitetos do sistema
Arquitetos do sistema
Desenvolvedores de software
Informtica - POO/JAVA
Arquitetos do Sistema
Engenheiros de Software
17
Informtica - POO/JAVA
18
III.
IV.
Exerccios Propostos
19
Smbolo
Modificador de
Acesso
Default ou
Package-Private
Representao
20
Exemplo 1:
Exerccios Propostos
4.3 De Componentes
Est associado linguagem de programao e tem por finalidade indicar os
componentes do software e seus relacionamentos.
Um componente elemento externo de software que compe programa que
estamos implementando, como um cdigo externo que reaproveitado. Esse
componente pode ser substitudo por outro componente, como, por exemplo:
executveis, bibliotecas, tabelas, pastas e documentos.
Informtica - POO/JAVA
21
4.4 De Implantao
Diagrama de Implantao usado para mostrar a organizao do hardware e a
ligao do software aos dispositivos fsicos, Como processador, impressora, memria,
disco; necessrio para que o engenheiro de software especifique a plataforma em
que o sistema executado.
O diagrama de implantao ao lado demonstra a plataforma fsica que o software
ser implantado.
4.5 De Pacotes
Representa os pacotes que o sistema est divido, demonstrando a interao lgica
entre as partes.
Observe a comunicao entre os pacotes de parte do sistema.
Informtica - POO/JAVA
22
4.6 De Estrutura
Descreve a estrutura interna da comunicao entre classes em um dado momento
do sistema. Ou seja, muito similar ao diagrama de classes e, portanto no muito
utilizado.
O exemplo ao lado mostra como as instncias das classes autor, submisso, tema
e tipo colaboram entre si.
Exerccios Propostos
Elementos
Como usar
Boneco com o
nome do ator
embaixo
Informtica - POO/JAVA
Funo
Um ator normalmente um
usurio que dispara uma ao
no sistema.
23
Linha direcionada
Os relacionamentos ajudam a
descrever a forma de interao
entre atores e casos de uso.
Informtica - POO/JAVA
24
Exerccios Propostos
Informtica - POO/JAVA
25
5.4 De Atividades
Descreve os passos a serem percorridos para a concluso de uma atividade.
O diagrama de atividade da nfase as fluxo de controle de uma atividade para
outra e identifica as atividades existentes no sistema. A descrio dos elementos
diagramas de atividades encontra-se na Figura 17:
Informtica - POO/JAVA
26
Exerccios Propostos
6 Relacionamentos em UML
Em UML, os relacionamentos so conexes entre itens. Ou seja, temos
relacionamentos em vrios diagramas da UML, como relacionamento entre classes e
relacionamento entre atores e casos de uso.
Em UML existem 3 tipos de relacionamento:
Dependncia
Generalizao
Associao
Informtica - POO/JAVA
27
Na leitura do diagrama acima dizemos que um item pode ser de nenhum ou muitos
Pedido de compra, j um pedido de compra pode ser composto de um ou muitos itens.
Exemplo 2:
Informtica - POO/JAVA
28
Informtica - POO/JAVA
29
Exemplo 1:
Figura 23 - Relacionamento de herana
Exerccios Propostos
Informtica - POO/JAVA
30
31
Write Once, Run Everywhere, ou seja, escreva (o cdigo) uma vez, e rode em todos
os lugares.
32
7.2.1
O J2EE utilizado para desenvolver aplicaes que rodam na Web, por exemplo
um sistema financeiro que funciona a partir de um site web. Ou seja uma forma de
criar pginas HTML que se comunicam com classes Java, formando assim a lgica da
aplicao.
7.2.3
Exerccios Propostos
Informtica - POO/JAVA
33
8 Classes Java
8.1 Classe String
String um tipo de texto que corresponde unio de um conjunto de caracteres.
Em Java, uma varivel do tipo String uma instncia (objeto) da classe String. Esses
objetos possuem propriedades e mtodos diferentes.
As Strings podem ser manipuladas de vrias formas, possvel verificar seu
tamanho, retirar uma parte da String ou converte-la para um formato especifico.
A classe String em Java possui mais de 50 mtodos que simplificam a
programao com objetos Strings. Vamos estudar os principais mtodos da classe
String.
Mtodo charAt
Mtodo
charAt
Retorno
char
Parmetro
int
Mtodo equal
Mtodo
equal
Informtica - POO/JAVA
Retorno
boolean
Parmetro
String
34
Mtodo length
Mtodo
lenth
Retorno
int
Parmetro
Sem parmetros
Retorno
String
Parmetro
Sem Parmetros
Informtica - POO/JAVA
35
Mtodo trim
Mtodo
trim
Retorno
String
Parmetro
Sem Parmetros
Mtodo replace
Mtodo
replace
Retorno
String
Parmetro
char, char
Informtica - POO/JAVA
36
Mtodo valueOf
Mtodo
valueOf
valueOf
valueOf
valueOf
Retorno
String
String
String
String
Parmetro
double
float
int
long
Retorno
double
double
Parmetro
double
double
Informtica - POO/JAVA
37
Retorno
double
float
int
long
Parmetro
double, double
float, float
int, int
long, long
Os mtodos max e min so usados para verificar o maior e o menor valor entre
dois nmeros, que podem ser do tipo double, float, int ou long.
Mtodo sqrt
Mtodo
sqrt
Retorno
Double
Parmetro
double
Informtica - POO/JAVA
38
Mtodo pow
Mtodo
Pow
Retorno
double
Parmetro
double, double
O mtodo pow eleva uma base uma potncia, ele precisa de dois parmetros de
entrada o primeiro a base e o segundo a potncia.
Mtodo random
Mtodo
random
Retorno
double
Parmetro
Sem Parmetros
Esse mtodo utilizado para gerar valores aleatrios. Ele sorteia valores do tipo
double entre 0.0 e 1.0. Para obtermos nmeros maiores que um pode-se multiplicar o
nmero gerado pelo mtodo por 100 e convertermos para inteiro, assim possvel ter
nmeros de 0 a 99.
String num = (int) (Math.random()*100)
Exerccios Propostos
Informtica - POO/JAVA
39
Informtica - POO/JAVA
40
9.2
Histrico
41
Unificada
Simula
Smalltalk
C++
ADA
Eiffel
Object Pascal
Java
Common Lisp
C#
Perl
Python
Uma analogia
Informtica - POO/JAVA
42
Fonte: http://vidadeprogramador.com.br/
Figura 40 Tirinha sobre o que Programao Orientada a Objeto
9.3.2
Informtica - POO/JAVA
43
Classe:
Mtodos de Objetos
Placa
Cor
Fabricante
Velocidade
Mtodo Acelerar
Mtodo Frear
Objeto Fusca
XYZ 0000
Preto
Wolks
30km/h
Objeto Opala
ZYX 9999
Vermelho
Wolks
120km/h
Observe que a classe define quais os tipos de caractersticas que o objeto vai ter, e
quando construdos, cada um adquire um conjunto novo de estados. Cada objeto
nico, mesmo que possuam dados idnticos.
Agora, vamos considerar como exemplo um estudante, sendo nosso objeto um
aluno. Para que esse objeto possa ser instanciado, precisamos definir a classe.
Fazendo uma anlise abstrata, temos de relevante que um aluno possui nome, idade,
matrcula, notas e mdia geral. Como ao, temos o ato de calcular a mdia geral das
disciplinas.Observe:
Classe:
Informtica - POO/JAVA
44
Mas, afinal, como escrever uma classe em cdigos? Ao definir como a classe ser
usada, temos que obedecer a estrutura a seguir:
<modificador> class <nome_da_classe> {
<atributos>
<construtor>
<mtodos>
}
Onde:
modificador: a forma como a classe ser acessada (estudaremos mais
adiante);
nome_da_classe: nome da classe, a ser definido pelo programador;
atributos: declarao dos atributos do objeto;
construtor: construtor da classe (estudaremos mais adiante);
mtodo: declarao dos mtodos da classe.
Veja como fica em Java:
Dicas de Programao
Pense em nomes apropriados para a sua classe. No a chame simplesmente de
classe XYZ ou qualquer outro nome aleatrio.
Os nomes de classes devem ser iniciados por letra MAISCULA.
O nome do arquivo de sua classe obrigatoriamente possui o MESMO NOME da
sua classe pblica.
9.3.3
Mensagem
45
Atributo
Informtica - POO/JAVA
46
Dicas de Programao
1 Declare todos os atributos de objeto na parte superior da declarao da classe.
2 Atributos de objeto, assim como qualquer outro atributo devem iniciar com letra
MINSCULA.
3 Use o tipo de dado apropriado para cada atributo declarado.
4 Declare atributos de objetos como private de modo que somente os mtodos da
classe possam acess-los diretamente.
9.3.5
Mtodo
47
Onde:
modificador: como o mtodo ser acessado;
tipo_do_retorno: tipo de dado do valor que o mtodo retornar (podendo
tambm ser void);
nome_do_mtodo: nome escolhido para o mtodo;
argumentos: argumentos que sero recebidos pelo mtodo, separados por
vrgula., precedido pelo seu tipo de dado.
Veja como fica em Java:
Dicas de Programao
1 Nomes de mtodos devem iniciar com letra MINSCULA.
2 Nomes de mtodos devem conter verbos.
3 Sempre faa documentao antes da declarao do mtodo. Use o estilo
javadoc para isso.
9.3.6
Construtores
Informtica - POO/JAVA
48
Exemplo
Considerando que voc j conhece os comandos bsicos, vamos ilustrar nossos
exemplos na linguagem de programao Java. A seguir, a implementao a classe
Aluno com definio de mtodos, atributos e objetos instanciados. Observe e
acompanhe os comentrios explicativos no cdigo.
Informtica - POO/JAVA
49
Exerccios Propostos
Informtica - POO/JAVA
50
10 Encapsulamento
10.1 O que Encapsulamento?
Encapsulamento um princpio da programao orientada a objeto que permite
que determinados elementos de uma classe possam ser ocultados de outras classes.
Ou seja, encapsulando, conseguimos esconder dados contidos em uma classe,
podendo ser acessados apenas por intermdio de mtodos prprios.
Para que alguma funcionalidade seja utilizada, no necessrio que a forma como
ela foi implementada seja conhecida. Vamos imaginar o funcionamento de um telefone
celular. O usurio faz ligaes, recebe, usa a calculadora e o alarme sem ter
conhecimento de como aquelas funes foram desenvolvidas, mas, para que ele as
utilize, basta apenas acessar da forma correta que o aparelho atender suas
expectativas, independente de ter sido implementado de uma forma ou de outra.
10.1.1 Modificadores de Acesso
Somente classes do mesmo pacote podem ter acesso aos atributos e mtodos no
modo protegido.
10.1.5 Mtodos Get e Set
Vimos que podemos definir a forma como os nossos dados sero acessados e
modificados por outros objetos, utilizando os modificadores de acesso. Muitas vezes o
acesso aos dados se d de forma privada (private), porm, em algumas situaes se
faz necessrio que outros objetos acessem esses dados. Devemos ter muita cautela ao
declarar esses mtodos, s devendo ser declarados em caso de real utilidade. Mas de
qual forma ele far este acesso, se o dado foi definido como privado?
Informtica - POO/JAVA
51
Set
Utilizamos o mtodo Set para modificar o valor de um atributo. Ele necessita de um
argumento, qual seja, o novo dado a ser atribudo, devendo ser do mesmo tipo de dado
do atributo declarado.
Veja como fica em Java:
Get
Podemos utilizar o mtodo Get para ler valores de atributos (de objeto ou de
classe). O mtodo dever retornar um valor, que a informao contida no atributo,
obviamente com o mesmo tipo de dado. Ao mtodo Get, no necessrio passarmos
nenhum argumento.
Informtica - POO/JAVA
52
Informtica - POO/JAVA
53
Exerccios Propostos
Informtica - POO/JAVA
54
11 Herana
11.1 O que herana?
Uma das grandes vantagens do uso da orientao a objetos justamente a
utilizao do conceito de herana. Com a herana o trabalho do programador pode ser
otimizado, pois proporciona uma eficiente e segura poltica de reutilizao de cdigos,
evitando assim o retrabalho.
A herana nos permite que caractersticas que so comuns a diversas classes
sejam reunidas em uma nica classe base. A partir desta, outras classes herdam suas
especificaes, e nelas apenas implementado o que lhes falta, a diferena.
Informtica - POO/JAVA
55
Exemplo:
Vimos o exemplo da implementao da classes Aluno. Imagine agora que
desejamos criar objetos Alunos, mas com uma particularidade: aluno de uma EEEP.
Por estar em uma Escola Profissional, o aluno, alm das notas de portugus,
matemtica e cincias, tem tambm nota de TESE, FPC e PPE. Vamos utilizar o
conceito de herana para adicionar esses dados, sem precisar repetir todas as demais
infromaes que j constam na classe Aluno. Nesse caso, criaremos a classe
AlunoEEEP, que herda funcionalidades da classe Aluno, e podemos acrescentar o que
est faltando.
Veja baixo a implementao da subclasse de Aluno, a AlunoEEEP. A primeira
coisa que devemos fazer mudar na classe Aluno o modificador de acesso de private
para protected, para que os atributos sejam visualizados tambm pela subclasse.
pelas su lasses
Informtica - POO/JAVA
56
Figura 60 - Instncia de objetos e chamada do mtodo Set na classe principal para atribuio de valores
Informtica - POO/JAVA
57
Figura 61 Instncia de objetos e chamada do mtodo SET na classe principal para atribuio de valores
Exerccios Propostos
Informtica - POO/JAVA
58
12 Polimorfismo
12.1 O que polimorfismo?
A palavra Polimorfismo vem do grego, e significa muitas formas. Em orientao a
objetos, a capacidade de uma referncia mudar de comportamento de acordo com o
objeto a que se refere. Significa que um mesmo tipo de objeto, sob certas condies,
pode se comportar de formas distintas ao receber uma mensagem. Ou seja,
dependendo do contexto da execuo, o sistema decidir qual mtodo ser executado.
Atravs do polimorfismo, a aplicao dos mtodos se d de forma automtica, de
acordo com o tipo do objeto. Por exemplo, j implementamos a superclasse Aluno e
criamos objetos aluFabricio e aluCamila. Depois, criamos uma subclasse
AlunoEEEP, para os estudades de escola profissionalizante, que herda funcionalidades
de Aluno. Dessa classe, criamos os objetos AluMilena e AluRafaela.
Na classe Aluno, criamos o mtodo calculaMediaAluno() que faz a mdia
aritmtica das notas de portugus, matemtica e cincias. J na classe AlunoEEEP,
criamos o mtodo calculaMediaTecnicaAluno(), que calcula a mdia aritmtica das
disciplinas tcnicas, quais sejam TESE, FPC e PPE.
Vamos refletir sobre a seguinte situao: no momento em que um objeto da classe
AlunoEEEP chama o mtodo calculaMediaAluno(), ele se comporta da mesma forma
como para um objeto da classe Aluno: calcula as mdias de portugus, matemtica e
cincias. Mas, e se ns quisermos que ele calcule a mtica artimtica de todas as
disciplinas, inclusive as tcnicas, como fazemos? Utilizando o polimorfismo,
conseguimos definir a forma como queremos que nosso objeto se comporte.
Analise o cdigo a seguir e observe que o mesmo mtodo calculaMediaAluno()
implementado de forma a atender as particularidades de cada uma das classes.
Mtodo calculaMediaAluno() na classe Aluno:
Informtica - POO/JAVA
59
Agora, na classe principal, vamos ver como objetos das classes Aluno e
AlunoEEEP se comportam ao chamarem o mtodo calculaMediaAluno():
todo
al ulaMediaAlu o
60
Figura 67 - Mtodo
al ulaMediaAlu o
i ple e tado o
passage
de par etro
Figura 68 - Cha a do
todo
al ulaMediaAlu o
A sada do sistema a mdia calculada das trs notas enviadas por parmetro:
Informtica - POO/JAVA
61
Informtica - POO/JAVA
62
Exerccios Propostos
Informtica - POO/JAVA
63
Informtica - POO/JAVA
64
Classe
Classe Java de
Interface para o
usurio
View
Objeto
View
Classe
Model
Janela de
Interface para o
usurio criada
pela classe main
ou outra janela
de interface a
partir da Classe
View
correspondente
Objeto
Model
Classe
Controller
Objeto
Controller
Classe Java
correspondente a
uma classe
model que
contm os
mtodos que
permitem o
acesso ao banco
de dados
Objeto criado por
uma janela de
interface a partir
de uma Classe
Controller e
alimentado por
um objeto model
Exerccios Propostos
Informtica - POO/JAVA
65
14 Implementao do Projeto
14.1 Identificao do Projeto
Turma chegamos parte final da nossa apostila, nessa fase vamos criar um
sistema passo a passo utilizando o projeto MVC criado anteriormente. Portanto voc ir
aprender muito sobre a interao entre as classes em um projeto MVC, tambm ir
conhecer os componentes para criar interfaces grficas do Java e utilizar um vetor de
objetos como banco de dados. Tudo isso implementando os conceitos de orientao a
objeto apresentados na fase anterior.
Agora vamos aprender como organizar nosso projeto no padro MVC, durante todo
o nosso curso iremos utilizar a IDE Netbeans para desenvolver nossos projetos.
Informtica - POO/JAVA
66
Na tela para criao do novo projeto escolha a opo Java Aplicativo Java e
clique em prximo.
Informtica - POO/JAVA
67
Agora exclua o pacote projetomvc.java, para isso clique com o boto direito no
projeto e escolha a opo excluir. Seu projeto deve ficar com a seguinte aparncia.
Informtica - POO/JAVA
68
Informtica - POO/JAVA
69
Agora vamos definir quais so as informaes que precisamos ter sobre o produto
no momento que for cadastrado.
Vamos solicitar que seja informado o nome, cdigo, o preo e data de validade do
produto.
Tudo isso sero variveis da nossa classe produto, ento vamos cri-las? Lembrese de colocar todas como private, pois vamos implementar o conceito de
encapsulamento, no queremos que as nossas variveis sejam vistas por todos.
O cdigo ser o seguinte:
private String nome;
private int cdigo;
private double preco;
private String data;
Veja se ficou da seguinte forma:
Informtica - POO/JAVA
70
Depois marque todas as variveis que deseja gerar os mtodos get e set e clique
em gerar.
Informtica - POO/JAVA
71
Vamos aprender como criar uma interfacegrfica em nosso projeto. Clique com o
boto direito no projetomvc.view, Escolha a opo Novo Formulrio JFrame.
Coloque o nome de JfLogin e clique em finalizar.
Informtica - POO/JAVA
72
Vamos agora inserir um JLabel em nossa tela inicial. Clique no componentee arrate
e solte em cima de sua tela. O resultado desta operao pode ser visto na Figura 95.
possvel redimensionar o componente, como fazemos para redimensionar uma
imagem.
Informtica - POO/JAVA
73
Agora altere a propriedade Text para Sistema Controle de Produtos, coloque a font
High Tower Text, tamanho 24 e altere a cor do texto para vermelho. Sua tela deve ficar
como ostrado na Figura 97:
Componente JTextField
Um textfield como um label, s que pode ser editado e modificado pelo usurio.
Textfields so usados geralmente para entrada de dados pelo usurio. Na paleta de
componentes voc encontra o componente com o nome Campo de Texto.
Informtica - POO/JAVA
74
Para isso adicione dois JLabel e altere seus textos para Login e Senha. Coloque
tamanho da letra 14. Em seguida adicioneum JTextField. Para retirar o nome que
aparece dentro do textFieldbasta apagar o texto dentro da sua propriedade text.
Componente JPasswordField
Vamos utilizar esse componente paraque ao digitar a senha ningum possa
visualiz-la. Ele ir adicionar uma mscara na senha. Na paleta de componentes ele
chamado de Campo de senha. Adicione um JPasswordField na tela de Login, no
Campo senha.
Componente JButton
Um boto uma regio clicvel coma qual o usurio interage de forma a disparar
uma ao. Na paleta de componentes ele chamado Button.
Informtica - POO/JAVA
75
Insira um componente JButton em nossa tela inicial e altere a sua propriedade text
para Login. A tela deve ficar da seguinte forma:
Para alterar o nome da varivel de um componente clique sobre ele com o boto
direito e escolha a opo Alterar o nome da varivel.
76
Vamos criar a tela para cadastro dos produtos, para isso crie um nova tela
(Formulrio JFrame) no pacote View coloque o nome de JfCadastro e adicione a ele os
seguintes componentes:
Componente
jLabel
jTextField
Componente
jButton
Nome da Varivel
Texto
Alterao
desnecessria
Cadastro de Produto
Alterao
desnecessria
Nome do Produto
Alterao
desnecessria
Preo do Produto
Alterao
desnecessria
Data de Validade
JtfNome
Sem texto
JtfPreco
Sem texto
JtfData
Sem texto
Nome da Varivel
Texto
JbCadastrar
Cadastrar
JbBuscar
Buscar
JbExcluir
Excluir
JbAlterar
Alterar
Informtica - POO/JAVA
77
Informtica - POO/JAVA
78
Nesse momento voc ser direcionado para o cdigo fonte da sua interface, no se
preocupe com todos os cdigos existentes, vamos nos preocupar somente com o
evento de nosso boto.
Informtica - POO/JAVA
79
Informtica - POO/JAVA
80
Vamos agora comear pelo boto cadastrar. Para realizar o cadastro necessrio
capturar os dados do produto da tela de cadastro. Para isso no evento do boto
cadastrar digite o seguinte cdigo:
Na classe de controle vamos criar nosso vetor. Lembre-se que o vetor deve ser do
tipo de Produto para que possamos armazenar objetos de produto. Teremos que
informar o tamanho do vetor vamos colocar 5. Vamos tambm criar uma varivel do
tipo de produto, uma varivel chamada i inicializada com 0 e uma varivel cod tambm
inicializada com 0, e uma varivel com nome achou do tipo boolean. Veja como ficou.
Informtica - POO/JAVA
81
Linha 168 Nessa linha estamos chamando o mtodo limpar(). O cdigo dele esta
demonstrado logo abaixo a sua funo limpar os campos aps o cadastro.
Informtica - POO/JAVA
82
Informtica - POO/JAVA
83
Informtica - POO/JAVA
84
85
86
Pronto o arquivo jar est criado, para localiz-lo v at a pasta onde est seu
projeto e localize a subpasta dist.
Informtica - POO/JAVA
87
Dentro da pasta dist est o arquivo .jar que voc poder levar para qualquer lugar e
executar o seu sistema bastando apenas dar dois cliques.
Saiba
Para criar uma aplicao que seja inicializada automaticamente junto com o
sistema operacional Windows, coloque seu arquivo .jar na pasta inicializar do
sistema.
Chegamos ao fim do nosso projeto, certo que ele no est 100% implementado,
e que algumas funcionalidades e componentes poderiam ser adicionadas. Espero que
tenha gostado de entender como funciona o padro MVC e como podemos construir
um sisteminha capaz de manipular informaes sem precisar de um banco de dados.
Posteriormente, iremos otimizar o nosso sistema, migrando para um banco de
dados, adicionando novas funcionalidades e utilizando mais recursos da linguagem
Java.
Informtica - POO/JAVA
88
15 Assuntos Complementares
15.1 Tratamento de Excees em Java
Exceo um evento que acontece durante a execuo de um bloco de cdigo e,
por algum motivo indevido (um erro), altera o curso normal de sua execuo.
Uma exceo indica um problema que ocorre durante a execuo de um programa.
O tratamento de excees permite aos programadores criar aplicativos que podem
tratar os problemas, permitindo que o programa continue funcionando.
O tratamento de excees existe para processar erros que ocorrem quando uma
instruo executada, como ndice de array inexistente, diviso de numero por zero,
parmetros invlidos de mtodos e etc.
O Java possui uma hierarquia de classes que realizam tratamento das excees
mais comuns. As classes de excees do Java herdam da classe Exception.
Estendendo essa classe possvel cria suas prprias classes de excees.
Veja abaixo a hierarquia de classe de excees em Java:
89
No exemplo acima perceba que disparada uma exceo quando tentamos dividir
um nmero por zero, e que a classe ArithmeticException informa o erro com a
mensagem by zero.
InputMismatchException: ocorre quando o usurio digita um valos que no do tipo
do valor esperado. Ex: quando o mtodo nextInt da classe Scanner recebe uma String.
ClassCastException: um erro que ocorre quando tentamos fazer um cast
(converso explcita) de uma classe para outra classe diferente desta ou que no seja
uma superclasse desta. Ou seja, as classes no possuem nenhuma relao portanto
no pode haver a converso de objetos.
Informtica - POO/JAVA
90
No exemplo acima perceba que o objeto carro no foi instanciado por isso gerado
uma exceo do tipo NullPointerException.
A estrutura try-catch-finally
Essa estrutura tem como funo desviar a execuo do programa caso ocorra
certos erros, predefinidos durante a codificao.
Veja abaixo como funciona a estrutura try-catch-finally
1. Try: bloco de cdigo que tentar ser executado, mas que pode causar uma
exceo;
2. catch: declara o bloco de cdigo usado para tratar uma exceo;
Informtica - POO/JAVA
91
Lanamento de excees
Uma exceo lanada usando-se a palavra chave throw seguida da referncia
exceo.
No exemplo abaixo se a varivel s for null ser disparado uma execeo do tipo
NullPointerException, se o tamanho da varivel for igual a 0 ser uma exceo do tipo
IlegalArgumentException, se no for nenhuma das duas ser disparada uma exceo
padro de exception.
Informtica - POO/JAVA
92
Informtica - POO/JAVA
93
Exercicios
94
Declarao da classe/interface
A tabela abaixo mostra cada parte de um classe/interface, na ordem em que elas
devem aparecer.
Informtica - POO/JAVA
95
Informtica - POO/JAVA
96
Declaraes de variveis
Ao declarar variveis, observe as seguintes regras:
Faa apenas uma declarao por linha, de modo a incentivar o uso de
comentrios.
Inicialize apenas uma varivel por linha.
Use letras minsculas e evite caracteres especiais.
Convenes de nomenclatura
Informtica - POO/JAVA
97
16 Referncias Bibliogrficas
1. Davenport, T H e Prusak, L. Conhecimento empresarial. Rio de Janeiro : Campus, 1988.
2. ScriBD. Desenvolvimento de Software Orientado a Objetos.
[http://pt.scribd.com/doc/56735259/2/Desenvolvimento-de-Softwares-orientado-a-objetos]
01/06/2012.
3. Wikipedia. Java (linguagem de prograo).
[http://pt.wikipedia.org/wiki/Java_%28linguagem_de_programa%C3%A7%C3%A3o%29 10/05/2012]
2012.
4. Caelum Ensino e Inovao. Java e Orientao a Objetos. [www.caelum.com - 10/05/2012]. So Paulo,
So Paulo, Brasil : www.caelum.com, 10 de 05 de 2012.
5. Wikipedia. Java Runtime Environment. [http://pt.wikipedia.org/wiki/Jre 11/05/2012] 2011.
6. . Java Development Kit. [http://pt.wikipedia.org/wiki/Jre Em: 11/05/2012] 2011. a.
7. School of Information System. Java Virtual Machine.
[https://wiki.smu.edu.sg/is200/Java_Virtual_Machine - 09/05/2012] s.l. : Singapore Management
University.
8. Kathy Sierra, Bert Bates. Use a Cabea - Java. Rio de Janeiro : O'Reilly, 2005.
9. Antonio Manso, Clio Marques, Pedro Dias. http://www.dei.estt.ipt.pt/portugol. s.l. : Instituto
Politcnico de Tomar.
10. Balagtas, Florence Tiu. Projeto J.E.D.I. Students Manual. s.l. :
http://edu.netbeans.org/contrib/jedi/Intro-to-Programming-1/student-manual.pdf, 2006.
11. de Souza, Marcos Antnio Furlan e Gonclio, Marcelo Marques. Algoritmos e Lgica de
Programao. s.l. : Thomson.
12. Deitel, Harvey M. e Deitel, Paul J. Java como Programar 8 Ed. s.l. : Pearson.
13. Forbellone, Andr Luiz Villar. Lgica de Programao A Construo de Algoritmos e Estruturas de
Dados. So Paulo : Makron, 1993.
14. Puga, Sandra e Rissetti, Gerson. Lgica de Programao e Estruturas de Dados. s.l. : Pearson.
15. Gomes, Ana Fernanda e Veneruchi, Edilene Aparecida. Fundamentos da Programao de
Computadores Algoritmos, Pascal, C/C++, JAVA 2 Edio. s.l. : Pearson Prentice Hall.
16. Villar, Andr Luiz e Eberspacher, Henri F. Lgica de Programao a Construo de Algoritmos e
Estruturas de Dados 3 Ed. s.l. : Pearson.
17. Paterlini, Roberto Ribeiro. Frmula versus algoritmo da resoluo de um problema - RPM n. 27, 1.
quadrimento de 1995.
Informtica - POO/JAVA
98
18. Echeverra, M.D.P.P. e Pozo, J.I. Aprender a resolver problemas e resolver problemas para aprender.
[A. do livro] Juan Ignacio Pozo. Porto Alegre : Artmed, 1998.
19. Plya, G. A . Arte de Resolver Problemas. Rio de Janeiro : Intercincia, 1978.
20. Soares, M. T. C e N.B., Pinto. Metodologia da resoluo de Problemas. 24 Reunio Anual da ANPED.
Caxambu : ANPED, 2001.
21. Brando, Mirna Geyla Lopes. Minha apostila. 2012.
Informtica - POO/JAVA
99
17 Exerccios Propostos
FASE I A UML COMO FERRAMENTA DE PROGRAMAO ORIENTADA A OBJETOS
1 INTRODUO A SISTEMAS
2 Requisitos
3 Histria e Evoluo da UML
1. Explique porque importante modelarmos os sistemas antes de constru-los.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
2. Explique o que a UML e como ela surgiu.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
3. Detalhe como composta e dividida a UML.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
100
Diagrama de Objeto:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
c)
Diagrama de componentes:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Informtica - POO/JAVA
101
d)
Diagrama de Implantao:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
e)
Diagrama de pacotes:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
f)
Diagrama de estrutura:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
5 Diagramas Comportamentais
9. Qual o objetivo dos diagramas de caso de uso?
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
10. Defina o que significa um ator? E qual a notao utilizada para representar um
ator e um caso de uso?
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
11. Como podemos identificar os atores do nosso sistema?
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Informtica - POO/JAVA
102
______________________________________________________________________
12. Construa um modelo de caso de uso para a seguinte situao fictcia:
Estamos criando um servio de entregas. Nossos clientes podem
requisitar a entrega de volumes. Alguns volumes so considerados
de maior valor por nossos clientes, e, portanto, eles querem ter tais
volumes segurados durante o transporte. Contratamos uma
companhia de seguros para segurar volumes de valor.
13. Diferencie cada um dos diagramas abaixo, detalhando suas caracteristicas.
a)
Diagrama de mquina de estados:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
b)
Diagrama de atividades:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
c)
Diagrama de sequncia:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
14. Identifique e explique cada um dos diagramas abaixo:
Diagrama 1:
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
Informtica - POO/JAVA
103
Diagrama 2:
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
6 Relacionamentos em UML
15. Explique cada um dos relacionamentos abaixo, demonstrando sua notao
grfica.
a)
Relacionamento de Dependncia:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
b)
Relacionamento de Associao:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
c)
Relacionamento de Generalizao:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
16. Desenhe um diagrama de classes com relacionamentos, e cardinalidade para as
seguintes situaes.
a)
Uma pessoa pode ser casada com outra pessoa
b)
Uma disciplina pr-requisitos para outra disciplina
c)
Uma pea pode ser composta de diversas outras peas
17. Construa um diagrama de atividade e sequncia para a ao de Login em um
sistema.
18. Construa um diagrama de caso de uso para a ao de emitir nota Fiscal em um
sistema.
Informtica - POO/JAVA
104
Informtica - POO/JAVA
105
GarbageCollection:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
IDE:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
24. Porque no podemos utilizar as palavras reservadas do Java para nomear as
variveis do programa.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
25. Diferencie as seguintes tecnologias Java
J2SE:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
J2EE:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
J2ME:
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Informtica - POO/JAVA
106
8 Classes Java
26. Escreva um programa para ler uma palavra e imprimir cada letra existente na
palavra (uma em cada linha).
27. Crie uma classe Nome. Esta classe possui um objeto String inicializado na
construo.
a. Crie um mtodo tudoMinusculo, que coloque todos os caracteres da string
em minsculo (caixa baixa).
b. Crie um mtodo que retorne o tamanho, em nmero de caracteres, da
string armazenada.
c. Crie um mtodo que conte o nmero de ocorrncias de um determinado
caractere recebido como parmetro.
28. Crie uma classe para fazer o arredondamento dos seguintes valores:
5.2, 5.6 e -5.8 para o valor inteiro mais prximo.
29. Crie uma classe para calcular a raiz quadrada dos nmeros 900 e 30.25.
30. Crie uma classe para calcular a potncia de 5.5 elevado a 2 e 25 elevado a 0.5.
31. Crie uma classe que gere 5 cartes de loteria com seis nmeros em cada um.
107
35. Pense em um sistema de uma video locadora, quais classes deveriam ser
criadas? E quais os atributos pertencentes a cada classe.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
36. Qual a importancia da troca de mesnsagens entre os objetos.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
37. Qual a diferena entre um atributo de objeto em atributo de classe.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
38. O que so metodos na orientao a objetos. D pelo menos um exemplo de
criao de mtodo em java.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
39. Qual a funo do construtor de uma classe
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
40. Crie uma classe em java chamada Carro, e defina no mnimo 3 mtodos e 3
atributos.
Informtica - POO/JAVA
108
10 Encapsulamento
41. Porque importante utilizar o conceito de encapsulamento na programao.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
42. O que so modificadores de acesso, e quais as diferenas entre eles.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
43. Qual a funo dos mtodos get e set.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
44. Implemente o encapsulamento e os mtodos get e set de uma classe chamada
Aluno com no mnimo 2 atributos.
11 Herana
45. Enumere os benefcios de
desenvolvimento de software.
utilizarmos
conceito
de
herana
no
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
46. Explique o que herana mltipla.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Informtica - POO/JAVA
109
47. Qual a relao de herana existente entre a classe object e a linguagem Java?
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
12 Polimorfismo
48. Sua tarefa criar uma classe que contenha um Registro de Agenda. A tabela
abaixo descreve as informaes que um Registro de Agenda deve conter:
Informtica - POO/JAVA
110
14 Implementao do Projeto
53. Implemente as seguintes mudanas no sistema:
a. Modifique o mtodo cadastrar para que seja possvel cadastrar um novo
produto na posio do vetor que tinha um produto, mas foi excludo.
b. Codifique o tratamento de excees do sistema.
c. Escreva comentrios no padro Javadoc em todo o sistema, e em
seguida gere a documentao (Para gerar automaticamente no netbeans,
clique em Executar Gerar Javadoc)
d. Crie um manual do usurio para utilizao do sistema.
15 Assuntos Complementares
15.1 Tratamento de Excees
54. Liste quatro exemplos de excees comuns.
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
55. Se nenhuma exceo lanada em bloco try, onde o controle do programa
procede quando o bloco try completa a execuo?
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
Informtica - POO/JAVA
111
Informtica - POO/JAVA
112
Hino Nacional