Prévia do material em texto
EXERCICIOS
1 - A Programação Orientada a Objetos (POO) é um modelo de análise, projeto e programação de software baseado na composição e interação entre diversas unidades chamadas de objetos. Assinale a alternativa que apresenta os itens considerados os quatro pilares da Programação Orientada a Objetos.
( ) A - Abstração - Encapsulamento - Concretização - Modelagem
( ) B - Estruturação - Modulorização - Concretização - Modelagem
( ) C - Estruturação - Modulorização - Herança - Polimorfismo
(X) D - Abstração - Encapsulamento - Herança – Polimorfismo
Abstração é a criação de entidades do mundo real e com características reais,
Encapsulamento é a técnica para esconder do usuário detalhes técnicos,
Herança é a forma pela qual uma classe pode herdar atributos(características) das classes pai,
Polimorfismo é a qualidade de um objeto ou instância de uma classe que pode ser tratada como se tivesse outros tipos.
2 - Qual a diferença entre classe e objeto?
Classe é um conjunto de objetos, onde objetos contem características e ações.
3 - Qual é a finalidade do método construtor?
Tem por função dar a forma ao espaço de memória ao qual faz referência ( a classe correspondente).As variáveis locais não há valores padrões, porém as globais sim. Exemplo: int=> 0, string = NULL etc
4 - Identifique na instrução abaixo: a classe, o objeto, o construtor e a operação de instanciação.
Computador computador = new computador();
Computador é classe
Computador é objeto
Computador( ) é Construtor
New computador(); é operação de instanciação
5 - O que diferencia um construtor de um método qualquer?
Possuem o mesmo nome da classe; não possuem parâmetros (no modo default)
6 - Observe que a classe abaixo não possui um construtor. Porém, para que seja criado um objeto sempre é necessario utilizar o operador new seguido do nome do construtor. Desta forma, não será possivel criar um objeto desta classe? Explique.
public class Garrafa{ private String tipo;
Public void setTipo (String tipo0 {this.tipo = tipo;
}
public String getTipo(){return tipo;
}}
É possivl sim. Pois, ha o metodo construtor na classe pai.
7 - A classe abaixo é parecida com a classe do exercicio anterior, porém agora ela possui um construtor alternativo. O que irá acontecer se em outra classe você desejar criar um onjto da mesma com a seguint instrução:
Garrafa gar = new Garrafa();
public class Garraf{ private string tipo;
/* public Garrafa(){//Construtor default}*/
public Garrafa (String tipo){//Construtor modificado this.tipo = tipo;
}
public void setTipo(string tipo){this.tipo = tipo;
}
public strng gettipo(){ return tipo;
}}
não há construtor default declaado explicitamente.
8 - O que é Polimorfismo?
Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea.
9 - O que é Encapsulamento?
Na programação orientada a objetos, encapsulamento refere-se ao agrupamento de dados com os métodos que operam nesses dados ou à restrição do acesso direto a alguns dos componentes de um objeto.
10 - O que é um tipo de retorno?
Tipo De Retorno. Especifica um tipo de informação que um método vai retornar após a sua execução. Esse retorno pode ser qualquer tipo da linguagem C#, por exemplo, int ou bool. Caso queira definir um método que não retorna um valor, você deve usar a palavra reservada VOID
11 - Descreva algumas diferenças básicas entre programação estruturada e programa-
ção orientada a objetos:
Orientação a objetos ou "OO" é um paradigma de programação, cujo o propósito é tornar a linguagem de programação mais próximo possível de objetos do mundo real, ou seja, é a representação do mundo real em linguagem de programação. Principais características é a possibilidade de criar classes, Heranças, Polimorfismo, Métodos que são responsáveis por manipular os atributos da classe E uma das suas principais vantagens é o reuso de código.
12 - Para que serve um construtor e como ele pode ser utilizado? Implemente dois
Exemplos:
• um para ser possível fazer 'Classe("POO")'
• e outro para ser possível fazer 'Classe("POO", 30)'.
São procedimentos executados na criação do objeto, uma única vez n Têm o mesmo nome da classe. São similares a métodos, mas não têm tipo de retorno. Não fazem parte da definição do tipo do objeto (interface).
1°construtor:
class Classe {
String nome;
double valor;
Classe(String n) {
nome = n;
valor = 0;
}
}
2ºconstrutor:
class Classe2 {
String nome;
double valor;
Classe2(String n,Double v) {
nome = n;
valor = v;
}
}
13 - Qual a diferença das linhas de código abaixo?
• private Classe varClasse;
• private Classe varClasse = new Classe();
A primeira linha está ocorrendo uma declaração ao objeto na segunda linha está criando uma instância de um objeto.
14 - Considere os métodos (lebre, os construtores também são métodos) abaixo.
Indique se está sendo utilizada sobrecarga de método ou sobrescrita. Explique e diga com que outro
método esta sendo realizada a sobrecarga ou sobrescrita (se for o caso).
1
public class A {
...
public A() { ... }
public A( int x ) { ... }
public void m1() { ... }
public void m1( int h ) { ... }
}
public class B extends A {
...
public B() { ... }
public void m1() { ... }
public void m1( double x, double y ) { ... }
public void m2() { ... }
}
public class A {
...
public A() { ... }
public A( int x ) { ... }
public void m1() { ... }
public void m1( int h ) { ... }
}
public class B extends A {
...
public B() { ... }
public void m1() { ... } //sobrescrita
public void m1( double x, double y ) { ... }//sobrecarga
public void m2() { ... }
}
15 - Crie uma classe em Java chamada Data que inclui três informações como variáveis
de instância:
• mês (int),
• dia (int)
• e ano (int).
A classe deve ter métodos get e set para cada variável e um construtor que inicializa as variáveis e
assume que os valores fornecidos são corretos. Forneça um método displayData que exibe o dia, o
mês e o ano separados por barras normais ( / ). Escreva um aplicativo de teste chamado DataTeste
que demonstra as capacidades da classe Data.
package data;
public class Data
{
private int dia;
private int mes;
private int ano;
public Data(int d, int m, int a)
{
setDia(d);
setMes(m);
setAno(a);
}
public void setDia(int d)
{
dia = d;
}
public int getDia()
{
return dia;
}
public void setMes(int m)
{
mes = m;
}
public int getMes()
{
return mes;
}
public void setAno(int a)
{
ano = a;
}
public int getAno()
{
return ano;
}
public void displayData()
{
System.out.printf("%d/%d/%d", getDia(), getMes(), getAno());
}
public static void main(String[] args) {
// TODO code application logic here
Data d;
d = new Data(04,05,2017);
System.out.println(d.dia+"/"+d.mes+"/"+d.ano);
d.displayData();
}
}
16 - Os dois principais paradigmas de programação amplamente conhecidos são o paradigma orientado a objetos e o procedural. Na orientação a objetos,
uma classe pode conter vários métodos com o mesmo nome, se recebem parâmetros diferentes.
17 - Na programação orientada a objetos são utilizados classes e métodos. Um método:
Em uma superclasse pode ser sobrescrito nas subclasses de uma relação de herança.
18 - Com referência à definição de caso de uso, assinale a alternativa errada:
( ) A - O modelo de casos de uso mostra o contexto e o escopo do sistema.
( ) B - O modelo de casos de uso permite uma visão conceitual de todo o sistema.
( ) C - O modelo de caso de uso mostra uma visão externa do sistema.
(X) D - Uma regra de negócio realiza um caso de uso.
O modelo de casos de uso mostra o contexto e o escopo do sistema.
O modelo de casos de uso permite uma visão conceitual de todoo sistema.
O modelo de caso de uso mostra uma visão externa do sistema.
A descrição de casos de uso permite uma descrição de uma solução de automação de um processo de negócio.
( ) E - A descrição de casos de uso permite uma descrição de uma solução de automação de um processo de negócio.
20 – O que é um diagrama de atividades UML ?
A Linguagem de modelagem unificada inclui diversos subconjuntos de diagramas, incluindo diagramas de estrutura, de interação e de comportamento. Diagramas de atividade, junto com diagramas de caso de uso e de máquina de estados, são considerados diagramas de comportamento porque descrevem o que é necessário acontecer no sistema sendo modelado.