Você está na página 1de 6

SERVIÇO PÚBLICO FEDERAL

UNIVERSIDADE FEDERAL DE GOIÁS


INSTITUTO DE INFORMÁTICA
Disciplina : ED2
Data : 27/08/2018
Profa. Lucília Gomes Ribeiro
Prof. Dirson Santos de Campos

Disciplina de Estrutura de Dados II


Revisão de Conceitos de Orientação de Objetos em Java II
Tarefa deste laboratório (Individual)
Submeta a sua resposta em um único arquivo no formato de documentos (.doc ou .rtf ou
.odt ou .docx ou .pdf) com as questões enumeradas (de 1 a 7) e um cabeçalho com a
identificação da disciplina, da matrícula e do nome do estudante e da turma.

1) Crie um pacote no Eclipse com o seu nome e as iniciais do seu sobrenome para os códigos fontes das
classes abaixo. Por exemplo, se o seu nome for Fulano de Tal da Silva. O nome do pacote deve ser
FulanoTS. Explique como se crie um pacote no Eclipse. A explicação pode ser escrita ou capturando as telas
do Eclipse na sequência que o pacote está sendo criado.

2) Dentro deste pacote do exercício 1 crie outro pacote cujo o nome deve ser os seus sobrenomes, sem
preposições, para os códigos fontes das classes e interfaces abaixo. Por exemplo, se o seu nome for Fulano
de Tal da Silva. O nome deste pacote deve ser TalSilva. Descreva somente o trecho de código fonte em
Java capaz de cria este pacote dentro do pacote do exercício 1.
Aonde deverá estar este trecho de código considerando as interfaces e classes da figura abaixo?

1
3) Quais das classes e/ou interfaces dos exercícios 1 e 2 podem ser executadas e porquê?

4) Teste cada classe e/ou interfaces dos exercícios 1 e 2 que pode ser executada. Inclua uma mensagem de
texto identificando o aluno de cada método main que a janela de execução não tenha o resultado vazio.
Faça a alteração, rode e depois capture a sua janela de Execução do Java. A mensagem do texto de
identificação deve conter a matrícula e o nome completo do aluno e a sua Turma.

5) Existem classes do exercício 1 e 2 que são executáveis e não aparece nenhuma resposta na janela de
execução (o resultada na janela de Execução é vazio)? Se houver quais são? Explique o porquê que isto
acontece?

6) Modifique a(s) classe(s) interligada(s) com a classe Polimorfismo de modo que na janela de Execução do
Java ao rodar o programa apareça na janela de Execução do Java o seu nome e dois de seus últimos
sobrenomes. Explique o que foi modificado no código fonte para que isto aconteça?
Capture a Janela de Execução do programa em Java após fazer as modificações que aparece o seu nome e
dois dos seus sobrenomes inscritos.
Por exemplo, se o seu nome for Fulano de Tal da Silva. O nome a ser inscrito pelo mecanismo de
polimorfismo será 3 strings:
Fulano
Tal
Silva
Para facilitar a solução ignorem de, da, das, dos, etc. e outras preposições que compõem o nome em
português.

7) Sobre o armazenamento em memória secundária dos códigos fontes dentro dos dois pacotes
desenvolvidos dentro de um projeto usando o IDE Eclipse.
a)Existe algum tipo de ligação ou mapeamento entre os pacotes e a organização do Sistema de Arquivos do
Sistema Operacional?
b) Em que diretórios foi gravado fisicamente, em memória secundária, os pacotes e qual o nome dos
arquivos pertencentes a estes diretórios?
c) Capture uma ou mais janelas (telas) usando o Eclipse de modo que se consiga visualizar os pacotes
criados por vc. nos exercícios 1 e 2 e suas respectivas classes e/ou interfaces.

2
Anexo Código fontes em Java dos slides em ordem alfabética.

class A {
public static int total ;
public int media;
}
public class B {
public static void main ( String [ ] args) {
A a = new A();
a.total = 5;
a.media = 5;
A b = new A();
b. total = 7;
b.media = 7;
}
}

public class AplicacaoBancaria {


public static void main ( String [ ] args) {
ContaBancaria conta1 = new ContaBancaria (200.00);
System.out. print ( "Antes da movimentacao, " );
conta1.imprime ();
conta1.deposito (50.00);
conta1.saque (70.00);
System.out. print ( "Depois da movimentacao, " );
conta1.imprime ();
}
}

public class Conta {


private double saldo;
public void alteraSaldo (double saldo) {
this.saldo = saldo;
}
}

class ContaBancaria {
private double saldo;
public ContaBancaria (double saldoInicial ) {
saldo = saldoInicial ;
}
public void deposito (double valor ) {
saldo = saldo + valor;
}
public void saque (double valor ) {
saldo = saldo - valor;
}
public void imprime () {
System.out. println ( "saldo=" + saldo);
}
}

3
class Empregado {
protected float salario ;
public float salarioMensal ( ) { return salario ; }
public void imprime ( )
{ System.out. println ( "Empregado" ); }
}

public class EncontraMax {


public static void main (String[] args) {
MeuItem itens[] = new MeuItem[2];
itens[0] = new MeuItem (3);
itens[1] = new MeuItem (10);
MeuItem max = (MeuItem) Max.max (itens, 2);
System.out.println ("Maior chave: " + max.chave);
}
}

class Gerente extends Empregado {


private float bonus;
public float salarioMensal ( )
{ return salario + bonus; }
public void imprime ( )
{ System.out. println ( "Gerente" ); }
}

public interface Item {


public int compara (Item it);
}

public class Lista {


private static class Celula {
Object item ;
Celula prox;
}
private Celula primeiro , ultimo;
}

public class Lista1 <T> {


private static class Celula<T> {
T item;
Celula<T> prox;
}
private Celula<T> primeiro , ultimo;
}

public class Lista2 {


// Código da classe Lista
private class Celula {
// Código da classe Celula
}
}

4
public class Max {
public static int max (int v[], int n) {
int max = v[0];
for (int i = 1; i < n; i++)
if (max < v[i]) max = v[i];
return max;
}
public static Item max (Item v[], int n) {
Item max = v[0];
for (int i = 1; i < n; i++) if (max.compara (v[i]) < 0) max = v[i];
return max;
}
}

public class MeuItem implements Item {


public int chave;

public MeuItem (int chave) { this.chave = chave; }

public int compara (Item it) {


MeuItem item = (MeuItem) it;
if (this.chave < item.chave) return -1;
else if (this.chave > item.chave) return 1;
return 0;
}
}

public class PainelDeControle {


private float temperaturaCorrente;
private float temperaturaDesejada;
public void ligaForno () {
// código do método
}
public void desligaForno() {
// código do método
}
}

public class Polimorfismo {


public static void main ( String [ ] args) {
Empregado empregado = new Empregado ();
Empregado secretaria = new Secretaria ();
Empregado gerente = new Gerente ();
empregado.imprime ( ) ;
secretaria.imprime ();
gerente.imprime ();
}
}

class Secretaria extends Empregado {


private int velocidadeDeDigitacao;

public void imprime ( ) {

5
System.out. println ( "Secretaria" );}
}

public class Sobrecarga


{
private static float salario, bonus;
public static float salarioMensal ( float desconto) {
return salario + bonus - desconto;
}

public static void main ( String [ ] args) {


float desconto, salarioM;
salario = 3000;
bonus = 500;
desconto = 300;
salarioM = salarioMensal (desconto);
System.out. printf ( "salario Mensal = %.2f ", salarioM);
}
}

Você também pode gostar