Você está na página 1de 78

Capítulo 13

Encapsulamento

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Objetivos do Capítulo
 Indicar a importância do mecanismo de encapsulamento no
contexto do desenvolvimento de software utilizando a
programação orientada a objetos.

 Apresentar os métodos de leitura de escrita e as convenções


aplicáveis a eles.

 Explorar diversas formas de validação de dados que podem


ser realizadas nos métodos de escrita e nos construtores.

 Analisar o uso de atributos estáticos, métodos estáticos e


atributos constantes.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução
 Classes: tipos de membros
 Atributos
 Construtores
 Métodos

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução
 Níveis de visibilidade
 Definição: intensidade das restrições
 Quantidade: 4

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução
 Encapsulamento
 Mecanismo da POO
 Define níveis de visibilidade
 Tipos:
 Público
 Privado
 Protegido
 Pacote (padrão)

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução
 Diretivas – qualificadores – modificadores de acesso
 Public
 Protected
 Private

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução
 Encapsulamento público
 O mais permissivo
 Acesso externo livre
 Regra geral: inadequado para atributos

 Encapsulamento privado
 O mais restritivo
 Acesso externo bloqueado
 Regra geral: inadequado para construtores

 Encapsulamento protegido
 Restrição moderada
 Acesso externo limitado ao pacote e a subclasses

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Introdução

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Públicos e Quebra de Integridade de Conteúdo
 Responsabilidade das classes
 Manter a integridade do conteúdo de seus atributos

 Atributos públicos têm acesso externo livre

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Públicos e Quebra de Integridade de Conteúdo
 Código 13.1 – Professor.java
 Implemente a classe Professor conforme representação.
 Código 13.2 – TestaProfessor.java
 Implemente a classe TestaProfessor conforme representação.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Professor.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores inválidos.
 Recupere e exiba o conteúdo de seus atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Bloqueio do Acesso Externo aos Atributos
 Prescrição
 Atributos privados

 Problema
 Atributos totalmente inacessíveis

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Bloqueio do Acesso Externo aos Atributos
 Código 13.3 – Aluno.java
 Implemente a classe Aluno conforme representação.
 Código 13.4 – TestaAluno.java
 Implemente a classe TestaAluno conforme representação.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Aluno.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores inválidos.
 Recupere e exiba o conteúdo de seus atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Bloqueio do Acesso Externo aos Atributos

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos de Leitura e Escrita
 Finalidade
 Intermediar o acesso aos atributos

 Método de leitura
 Recupera o conteúdo
 Prefixo: get

 Método de escrita
 Modifica o conteúdo
 Prefixo: set

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos de Leitura e Escrita
 Código 13.5 – Curso.java
 Implemente a classe Curso conforme representação.
 Código 13.6 – TestaCurso.java
 Implemente a classe TestaCurso conforme representação.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Curso.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores válidos.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores inválidos.
 Recupere e exiba o conteúdo de seus atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos de Leitura e Escrita

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validações nos Métodos de Escrita
 Finalidade:
 Impedir a gravação de dados inválidos nos atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validações nos Métodos de Escrita
o Código 13.7 – Disciplina.java
– Implemente a classe Disciplina conforme representação.
– Implementar validações nos métodos de escrita:
• Código: deve ser um número inteiro positivo.
• Descrição: deve conter de 5 a 50 caracteres.
o Código 13.8 – TestaDisciplina.java
– Implemente a classe TestaDisciplina conforme representação.
– Implemente o seguinte procedimento no seu método main( ):
• Instancie um objeto da classe Disciplina.
• Recupere e exiba o conteúdo de seus atributos.
• Modifique o conteúdo de seus atributos com valores válidos.
• Recupere e exiba o conteúdo de seus atributos.
• Modifique o conteúdo de seus atributos com valores inválidos.
• Recupere e exiba o conteúdo de seus atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validações nos Métodos de Escrita

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita
 Finalidade
 Sinalizar quando um dado inválido for identificado

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita
 Código 13.9 – Livro.java
 Implemente a classe Livro conforme representação.
 Regras para a validação dos dados:
 Código: deve ser um número inteiro positivo
 Título: deve conter de 5 a 50 caracteres
 Disparar unchecked exceptions nos métodos de escrita
 setCodigo( ): IllegalArgumentException
 setTitulo( ): NullPointerException e IllegalArgumentException

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita
 Código 13.10 – TestaLivro.java
 Implemente a classe TestaLivro conforme representação.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Livro.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores válidos.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores inválidos.
 Recupere e exiba o conteúdo de seus atributos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita
 Código 13.11 – TestaLivroProtegido.java
 Implemente a classe TestaLivroProtegido.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Livro.
 Recupere e exiba o conteúdo de seus atributos.
 Modifique o conteúdo de seus atributos com valores inválidos.
 Recupere e exiba o conteúdo de seus atributos.
 Proteja as instruções que invocam os métodos de escrita.
 Tratamento para RuntimeException

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita
 Código 13.12 – CadastroLivros.java
 Implemente a classe CadastroLivros.
 Implemente o seguinte procedimento no seu método main( ):
 Crie um vetor capaz de armazenar até 100 objetos da classe Livro.
 Permita que o usuário cadastre até 100 livros.
o Grave os dados de cada livro em um objeto da classe Livro.
o Grave todos os objetos criados no vetor supracitado.
 Se o usuário informar um dado inválido, solicite-o novamente.
 Ao final, exiba um relatório de todos os livros cadastrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Unchecked Exceptions nos Métodos de Escrita

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Checked Exceptions nos Métodos de Escrita
 Finalidade
 Tornar o tratamento obrigatório

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Checked Exceptions nos Métodos de Escrita
 Código 13.13 – Autor.java
 Implemente a classe Autor conforme representação.
 Regras para a validação dos dados:
 Código: deve ser um número inteiro positivo
 Nome: deve conter de 5 a 50 caracteres
 Disparar checked exceptions nos métodos de escrita
 Sinalizar toda exceção como Exception

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Checked Exceptions nos Métodos de Escrita
 Código 13.14 – CadastroAutores.java
 Implemente a classe CadastroAutores.
 Implemente o seguinte procedimento no seu método main( ):
 Crie um vetor capaz de armazenar até 100 objetos da classe Autor.
 Permita que o usuário cadastre até 100 autores.
o Grave os dados de cada autor em um objeto da classe Autor.
o Grave todos os objetos criados no vetor supracitado.
 Se o usuário informar um dado inválido, solicite-o novamente.
 Ao final, exiba um relatório de todos os autores cadastrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Uso de Checked Exceptions nos Métodos de Escrita

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Representação Textual Através do Método toString( )
 Contexto
 Todas as classes derivam de Object
 Um dos métodos de Object é o toString( )
 Finalidade: representação textual do objeto
 Assinatura:
public String toString( )
 Retorno padrão:
o O nome da classe do objeto
o @
o Representação hexadecimal do código de hash do objeto

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Representação Textual Através do Método toString( )
 Código 13.15 – ImprimeLivro.java
 Implemente a classe ImprimeLivro.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Livro.
 Modifique o conteúdo de seus atributos com valores válidos.
 Ordene a impressão deste objeto através de um diálogo.
 Instancie outro objeto da classe Livro.
 Modifique o conteúdo de seus atributos com valores válidos.
 Ordene a impressão deste objeto através de um diálogo.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Representação Textual Através do Método toString( )
 Código 13.16 – Assunto.java
 Implemente a classe Assunto conforme representação.
 Retorno do método toString( ):
 Nome da classe
 Um espaço
 Código
 Dois-pontos
 Um espaço
 Descrição

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Representação Textual Através do Método toString( )
 Código 13.17 – TestaAssunto.java
 Implemente a classe TestaAssunto.
 Implemente o seguinte procedimento no seu método main( ):
 Instancie um objeto da classe Assunto.
 Ordene a impressão deste objeto através de um diálogo.
 Instancie outro objeto da classe Livro.
 Ordene a impressão deste objeto através de um diálogo.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validação de Dados no Construtor
 Motivação
 Forma alternativa ao uso de métodos de escrita
 Garantir a validade do conteúdo dos atributos desde o princípio

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validação de Dados no Construtor
 Código 13.18 – Computador.java
 Implemente a classe Computador conforme representação.
 Implementar validações no construtor:
 Código: deve ser um número inteiro positivo.
 Descrição: deve conter de 5 a 50 caracteres.
 Sinalizar exceções no construtor com Exception
 Retorno do método toString( ):
 <Nome da classe> <código>: <descrição>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validação de Dados no Construtor
 Código 13.19 – CadastroComputadores.java
 Implemente a classe CadastroComputadores.
 Implemente o seguinte procedimento no seu método main( ):
 Crie um vetor para armazenar até 100 objetos da classe Computador.
 Permita que o usuário cadastre até 100 computadores.
o Grave os dados de cada computador em um objeto da classe Computador.
o Grave todos os objetos criados no vetor supracitado.
 Se o usuário informar um dado inválido, solicite-o novamente.
 Ao final, exiba um relatório de todos os computadores cadastrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Validação de Dados no Construtor

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Relação Assimétrica entre Atributos e Métodos de L/E
 Atributo sem método de Leitura
 Atributo sem método de Escrita
 Atributo sem métodos de L/E
 Atributo com métodos de escrita sobrecarregados
 Atributo manipulado por métodos diversos
 Método de leitura sem atributo

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Relação Assimétrica entre Atributos e Métodos de L/E
 Código 13.20 – Conta.java
 Implemente a classe Conta conforme representação.
 Implementar validações no construtor:
 Número: deve ser um número inteiro positivo.
 Sinalizar exceções com Exception
 Retorno do método getDisponível( ): saldo + limite
 Validações nos métodos de escrita:
 Limite: deve ser um valor maior ou igual a zero.
 Sinalizar exceções com Exception
 Validações no método sacar( ):
 Valor: não deve ser superior à soma do saldo e do limite.
 Sinalizar exceções com Exception
 Retorno do método toString( ):
 Conta <número> : <saldo> || <limite> || <disponível>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Relação Assimétrica entre Atributos e Métodos de L/E
 Código 13.21 – OperadorConta.java
 Implemente a classe OperadorConta.
 Implemente o seguinte procedimento no seu método main( ):
 Declare um objeto da classe Conta .
 Solicite o número da conta e instancie o objeto supracitado.
o Número inválido: exiba uma mensagem de erro e solicite-o novamente.
 Solicite o limite da conta e o grave no objeto supracitado.
o Limite inválido: exiba uma mensagem de erro e solicite-o novamente.
 Solicite a operação:
o D = Depósito
o S = Saque
 Operação inválida: mensagem de erro e nova solicitação.
 Solicite o valor da operação.
 Realize a operação utilizando o objeto supracitado.
 Exiba o novo estado da conta.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Relação Assimétrica entre Atributos e Métodos de L/E

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos Estáticos
 Introdução
 Métodos de classe
 Tarefas independentes das instâncias

 Sintaxe:

[encapsulamento] static <tipo> <nome>([parâmetros]){


}

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos Estáticos
 Código 13.22 – Dialogo.java
 Especificação do método captar( ):
 Solicitar um dado através de um diálogo gráfico.
 Parâmetros:
o mensagem: o texto a ser exibido no diálogo.
 Retorno: o dado informado.
 Especificação do método exibir( ):
 Exibir um texto através de um diálogo gráfico.
 Parâmetros:
o texto: o texto a ser exibido no diálogo.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos Estáticos
 Código 13.23 – TestaDialogo.java
 Solicite o nome do usuário.
 Exiba uma mensagem com este nome.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Estáticos
 Introdução
 Atributo de classe
 Informação compartilhada entre instâncias
 Um valor único

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Estáticos
 Sintaxe:

[encapsulamento] static <tipo> <nome>;

 Exemplo:

public class Aliquota {


public static double ir;
public static double inss;
}

 Formas de acesso:

Aliquota.inss = 11;
Aliquota aliquota = new Aliquota( );
aliquota.inss = 11;
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Atributos Estáticos
 Código 13.24 – Doenca.java
 Especificação do construtor:
 Inicializar os atributos codigo e descricao.
 Incrementar o atributo quantidade.
 Especificação do método toString( ):
 Doença <código>: <descrição>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Estáticos
 Código 13.25 – TestaDoenca.java
 Crie duas instâncias da classe doença.
 Exibia a representação textual destas instâncias.
 Exiba a quantidade de instâncias criadas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Constantes
 Introdução

 Conteúdo imutável

 Sintaxe:

[encapsulamento] final <tipo> <nome> = <valor>;

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Constantes
 Código 13.26 – Atleta.java
 Especificação do construtor:
 Inicializar atributos codigo e descricao.
 Especificação do método toString( ):
 <nome> - <sexo>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Atributos Constantes
 Código 13.27 – TestaAtleta.java
 Crie duas instâncias da classe Atleta.
 Exibia a representação textual destas instâncias.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos de Leitura para Atributos Booleanos
 Convenção de nomes: regra geral
 Método de leitura: prefixo “get”
 Método de escrita: prefixo “set”

 Exemplo:

private String nome;

public String getNome( ) {


}

public void setNome(String nome) {


}

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Métodos de Leitura para Atributos Booleanos
 Convenção de nomes: exceção

 Atributos booleanos: prefixo “is”

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 1
 Crie um novo aplicativo que permita cadastrar até 1.000
gêneros de filmes.
 Este aplicativo deve ser composto pelas classes Genero e
CadastroGeneros.
 Especificações da classe Genero.
 O construtor deve apenas inicializar seu atributo descricao.
 Os métodos de escrita não devem realizar qualquer tipo de
validação sobre os dados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 1
 O método main( ) da classe CadastroGeneros deve realizar o
seguinte procedimento:
 Crie um vetor para armazenar até 1000 objetos da classe Genero.
 Permita que o usuário cadastre até 1000 gêneros.
 Grave os dados de cada gênero em um objeto da classe Genero.
 Grave todos os objetos criados no vetor supracitado.
 Ao final, exiba um relatório de todos os gêneros cadastrados.
 Não implemente nenhum tipo de validação de dados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 1

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 2
 Crie um novo aplicativo que permita cadastrar até 200
funcionários.
 Este aplicativo deve ser composto pelas classes Funcionario
e CadastroFuncionarios.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 2
 Especificações da classe Funcionario.
 O construtor deve inicializar seu atributo nome.
 Os métodos de escrita devem disparar exceções do tipo
IllegalArgumentException se um dado inválido for recebido.
 Regras para validação dos dados nos métodos de escrita:
 Matrícula: deve ser um número inteiro positivo.
 Nome: deve conter de 5 a 50 caracteres.
 Salário: deve ser um valor não inferior a R$ 465,00.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 2
 O método main( ) da classe CadastroFuncionario deve
realizar o seguinte procedimento:
 Crie um vetor para armazenar até 200 objetos da classe
Funcionario.
 Permita que o usuário cadastre até 200 funcionários.
 Grave os dados de cada funcionário em um objeto.
 Grave todos os objetos criados no vetor supracitado.
 Se um dado inválido for informado, exiba uma mensagem de erro e
solicite-o novamente.
 Ao final, exiba um relatório dos funcionários cadastrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 2

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 3
 Crie um novo aplicativo que permita cadastrar até 500
fornecedores.
 Este aplicativo deve ser composto pelas classes Fornecedor
e CadastroFornecedores.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 3
 Especificações da classe Fornecedor.
 O construtor deve inicializar os atributos de tipo String.
 Os métodos de escrita devem disparar exceções do tipo
Exception se um dado inválido for recebido.
 Regras para validação dos dados nos métodos de escrita:
 Código: deve ser um número inteiro positivo.
 Razão social: deve conter de 5 a 50 caracteres.
 Telefone: deve conter 10 dígitos numéricos.
 E-mail:
o Deve conter de 5 a 50 caracteres.
o Deve conter uma única arroba: @.
o Deve haver ao menos 2 caracteres antes da @.
o Deve haver ao menos 2 caracteres depois da @.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 3
 O método main( ) da classe CadastroFornecedores deve
realizar o seguinte procedimento:
 Crie um vetor para armazenar até 500 objetos da classe
Fornecedor.
 Permita que o usuário cadastre até 500 fornecedores.
 Grave os dados de cada fornecedor em um objeto.
 Grave todos os objetos criados no vetor supracitado.
 Se um dado inválido for informado, exiba uma mensagem de erro e
solicite-o novamente.
 Ao final, exiba um relatório dos fornecedores cadastrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 3

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 4
 Crie um novo aplicativo que permita simular o controle de
operações de entrada e saída de estoque de um único
produto.
 Este aplicativo deve ser composto pelas classes Produto e
OperadorEstoque.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 4
 Especificações da classe Produto.
 O construtor deve inicializar o atributo descricao.
 Os métodos de escrita devem disparar exceções do tipo
Exception se um dado inválido for recebido.
 Regras para validação dos dados nos métodos de escrita:
 Código: deve ser um número inteiro positivo.
 Razão social: deve conter de 5 a 50 caracteres.
 Método registrarEntrada( ):
 Deve somar a quantidade ao saldo já existente.
 Exceções:
o Quantidade menor ou igual a zero: “Quantidade inválida”.
 Método registrarSaida( ):
 Deve subtrair a quantidade do saldo existente.
 Exceções:
o Quantidade menor ou igual a zero: “Quantidade inválida”.
o Quantidade maior que o saldo: “Saldo insuficiente”.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 4
 O método main( ) da classe OperadorEstoque deve realizar o
seguinte procedimento:
 Crie uma instância da classe Produto.
 Solicite o código e a descrição do produto e grave-os no objeto.
 Se um dado informado for inválido, exiba uma mensagem de erro e
solicite-o novamente.
 Inicie uma estrutura de repetição que só seja encerrada quando
o usuário cancelar um dos diálogos de entrada.
 Solicite a operação desejada:
o E = Registrar entrada.
o S = Registrar saída.
 Solicite a quantidade.
 Atualize o saldo do produto através do método correspondente.
 Exiba o saldo atualizado do produto.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 4

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 5
 Crie um novo aplicativo que permita cadastrar até 10
vendedores.
 Este aplicativo deve ser composto pelas classes Vendedor e
CadastroVendedores.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 5
 Especificações da classe Vendedor.
 O atributo nrInstancias deve ser declarado como um atributo
estático e representa o número de instâncias da classe
Vendedor que foram criadas.
 O construtor deve:
 Inicializar o atributo nome.
 Incrementar o atributo nrInstancias.
 Os métodos de escrita não devem validar os dados e tampouco
lançar exceções.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 5
 O método main( ) da classe CadastroVendedores deve
realizar o seguinte procedimento:
 Crie um vetor para armazenar até 10 funcionários.
 Permita que o usuário cadastre até 10 funcionários.
 Grave os dados de cada funcionário em um objeto.
 Grave todos os objetos criados no vetor supracitado.
 Utilize um laço while para a simulação dos cadastros.
o Utilize o método getNrInstancias() na condição deste laço.
 Ao final, exiba um relatório dos funcionários cadastrados.
 Não implemente nenhum tipo de validação de dados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 5

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 6
 Crie um novo aplicativo que permita cadastrar até 100
motoristas.
 Este aplicativo deve ser composto pelas classes Motorista e
CadastroMotoristas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 6
 Especificações da classe Motorista.
 Descrição dos atributos:
 cnh: o número da CNH (Carteira Nacional de Habilitação).
 nome: o nome completo do motorista.
 situação: N (Normal) ou S (Suspenso).
 SITUACAO_NORMAL: contém o caractere que deve ser armazenado
no atributo situacao quando a situação motorista é normal.
 SITUACAO_SUSPENSO: contém o caractere que deve ser armazenado
no atributo situacao quando a CNH do motorista foi suspensa.
 O construtor deve inicializar os atributos nome e situacao (N).
 Não deve haver método de leitura para nenhum atributo. A única
forma de recuperar os dados contidos nos atributos é através da
representação textual do objeto, ou seja, do método toString( ).
 Os métodos de escrita não devem validar os dados e tampouco
lançar exceções.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 6
 O método main( ) da classe CadastroMotorista deve realizar o
seguinte procedimento:
 Crie um vetor para armazenar até 100 motoristas.
 Permita que o usuário cadastre até 100 motoristas.
 Grave os dados de cada motorista em um objeto.
 Grave todos os objetos criados no vetor supracitado.
 Ao final, exiba um relatório dos motoristas cadastrados.
 Não implemente nenhum tipo de validação de dados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Exercício 6

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra


Contato
Com o autor:

Rui Rossi dos Santos


E-mail: livros@ruirossi.pro.br
Web Site: http://www.ruirossi.pro.br

Com a editora:

Editora NovaTerra
Telefone: (21) 2218-5314
Web Site: http://www.editoranovaterra.com.br

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Você também pode gostar