Encapsulamento - Rui Rossi dos Santos

Propaganda
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: [email protected]
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
Download