Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Gestão Academica em Java - aula5 - pratica - encapsulamento, Provas de Informática

Objetivos: 1. Modelar um sistema orientado a objetos simples a partir de uma situação problema (domínio do problema). 2. Exercitar a extração e reconhecimento de objetos existentes no mundo real, seus atributos e seus métodos, propondo uma solução para o problema. 3. Usar o ambiente BlueJ para implementar a solução. Situação problema: 1. Domínio do problema: Gestão acadêmica 2. Descrição do problema: Uma universidade necessita de um sistema que facilite a sua gestão acadêmica. Deseja-se um contr

Tipologia: Provas

2016

Compartilhado em 16/06/2016

gu-de-aguiar-2
gu-de-aguiar-2 🇧🇷

4.9

(25)

20 documentos

1 / 5

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UFU/FACOM
Disciplina: POO1
Ref: Prática - Encapsulamento
Objetivo: aplicar a técnica de encapsulamento no sistema de gestão
acadêmica
A técnica de encapsulamento visa esconder os detalhes de implementação de
uma classe (atributos/métodos) do mundo externo, simplificando sua utilização
e integração ao sistema.
Uma boa vantagem de se utilizar o encapsulamento é a proteção dos atributos
da classe de valores indevidos, inválidos,
De acordo com o exposto em sala de aula, aplicando-se a técnica de
encapsulamento à classe “Funcionário”, o código desta classe seria alterado
para:
import java.util.Scanner;
public class Funcionario
{
private String nome;
private String endereco;
private String telefone;
private String cpf;
private String ctps;
private double salario;
public boolean setNome(String nome)
{
if (nome.length() > 0) {
this.nome = nome;
return true;
}
else {
System.out.println("Nome invalido!");
return false;
}
}
public boolean setEndereco(String endereco)
{
if (endereco.length() > 0){
this.endereco = endereco;
return true;
}
else {
System.out.println("Endereço inválido!");
return false;
}
}
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Gestão Academica em Java - aula5 - pratica - encapsulamento e outras Provas em PDF para Informática, somente na Docsity!

UFU/FACOM

Disciplina: POO Ref: Prática - Encapsulamento

Objetivo: aplicar a técnica de encapsulamento no sistema de gestão acadêmica

A técnica de encapsulamento visa esconder os detalhes de implementação de uma classe (atributos/métodos) do mundo externo, simplificando sua utilização e integração ao sistema.

Uma boa vantagem de se utilizar o encapsulamento é a proteção dos atributos da classe de valores indevidos, inválidos,

De acordo com o exposto em sala de aula, aplicando-se a técnica de encapsulamento à classe “Funcionário”, o código desta classe seria alterado para:

import java.util.Scanner; public class Funcionario { private String nome; private String endereco; private String telefone; private String cpf; private String ctps; private double salario;

public boolean setNome(String nome) { if (nome.length() > 0) { this.nome = nome; return true; } else { System.out.println("Nome invalido!"); return false; } }

public boolean setEndereco(String endereco) { if (endereco.length() > 0){ this.endereco = endereco; return true; } else { System.out.println("Endereço inválido!"); return false; } }

public boolean setTelefone(String telefone) { if (telefone.length() > 0) { this.telefone = telefone; return true; } else { System.out.println("Telefone inválido!"); return false; } }

public boolean setCpf(String cpf) { if (cpf.length() > 0) { this.cpf = cpf; return true; } else { System.out.println("CPF inválido!"); return false; } }

public boolean setCtps(String ctps) { if (ctps.length() > 0) { this.ctps = ctps; return true; } else { System.out.println("CTPS inválido!"); return false; } }

public boolean setSalario(double salario) { if (salario > 0) { this.salario = salario; return true; } else { System.out.println("Salario inválido!"); return false; } }

public void lerDados() { Scanner s = new Scanner(System.in);

  • D para desligado Este atributo deve ser do tipo byte e deve armazenar:
  • 1 se o usuário digitar M
  • 2 se o usuário digitar T
  • 3 se o usuário digitar D Na hora de exibir os dados do aluno (mostrar dados), deve ser exibido: Matriculado, Trancado ou Desligado, de acordo com o código armazenado.

Observação sobre encapsulamento: Note que não é possível saber como este atributo “situacao” está implementado, ou seja, o tipo do atributo.

As demais classes do sistema apenas tem acesso à interface que dá acesso a este atributo, sem manipula-lo diretamente.

Com isto, obtemos transparência em relação à implementação interna das classes, seus tipos de dados, etc. A transparência de implementação deve ser sempre perseguida na programação orientada a objetos.

Para fazer comparação de strings é necessário utilizar o método equals da classe String, já que o comparador “==” funciona apenas para tipos primitivos (int, char, byte.....). O método equals recebe como parâmetro uma string e retorna true se forem iguais e false se forem diferentes. Exemplo:

String st = “teste”; if (st.equals(“tes”)) System.out.println(“Strings são iguais.”); else System.out.println(“Strings são diferentes.”);

Outro método interessante da classe String é o método charAt. Este método recebe como parâmetro um inteiro de 0 a n-1, em que n é o tamanho da string, e retorna o caracter na posição n. O caracter é retornado no tipo char. Exemplo:

String st = “Teste”; char c; byte situacao; c = st.charAt(0); switch (c) { case 'M': situacao = 1; return true; case 'T': situacao = 2; return true; case 'D': situacao = 3; return true; default: return false;

Para realizar comparação de caracteres, utilizamos o comparador de igualdade para tipos primitivos “==”. Exemplo:

char c = 'a'; char d = 'b'; if (c == d) System.out.println(“Caracteres são iguais.”); else System.out.println(“Caracteres são diferentes.”);