Exercício Programação Orientada A Objetos
Exercício Programação Orientada A Objetos
Exercício Programação Orientada A Objetos
Programac
ao Orientada a Objetos
Exerccios de Revis
ao - Prova 1
Classes, Objetos e Refer
encias
1. O que e uma classe e o que e um objeto?
2. Para que serve o construtor de uma classe?
3. De forma semelhante a metodos, um construtor pode ter uma lista de parametros, mas
nao declaramos um tipo de retorno. Porque?
Considere o c
odigo abaixo para responder as questoes 4 a 10:
public class Funcionario {
private int idade;
public string nome = "";
public string cargo;
public Funcionario(string nome){
this.nome = nome;
}
public Funcionario(string nome, int idade){
this.nome = nome;
this.idade = idade;
}
public void SalvarDadosNoBanco(){
//
}
public int Excluir(){
return 1;
}
}
4. Quantos atributos a classe define e quais sao eles?
5. Quantos construtores a classe define e quais sao eles?
6. Quantos metodos a classe define e quais sao eles?
7. Qual e a maneira correta de instanciar (criar um objeto) da classe Funcionario definida
anteriormente e guardar o objeto criado em uma referencia?
(a) Funcionario x = Funcionario();
(b) Funcionario x = Funcionario("Danilo");
(c) Funcionario x = new Funcionario("Danilo");
1
b++;
}
}
(a) O que o programa imprime no console?
(b) E se retirarmos a palavra chave static da declaracao do atributo a, o que acontecer
a?
15. Dentro de um metodo est
atico podemos usar a palavra chave this?
Modificadores de Visibilidade
16. Existe um erro de compilac
ao no codigo abaixo. Qual e ele?
class MeuPrograma {
static void Main(string[] args) {
ClasseX x = new ClasseX();
x.atributoA = 4;
x.atributoB = 5;
}
}
class ClasseX {
private int atributoA = 10;
public int atributoB = 45;
public String metodoB() {
atributoA = this.atributoB;
}
}
17. Suponha que exista uma classe MinhaClasse no pacote (ou namespace) pacote1. Em
geral, n
ao podemos usar a classe MinhaClasse em um pacote diferente do qual ela foi
declarada sem usar uma instruc
ao import (Java) ou import (C#). No entanto, existe
uma outra alternativa. Qual e ela?
18. Suponha que exista uma classe p
ublica A em um pacote/namespace p1. Suponha tambem
que A contenha um atributo x. Preencha a tabela abaixo onde cada linha e um possvel
modificador de visibilidade aplicado a x e cada coluna e uma classe onde se tenta acessar
x. Indique em cada celula se x e visvel ou nao.
public
private
protected
p1.A
sim
p1.B
p2.C
n
ao
Por exemplo, o valor da primeira celula e sim, pois e possvel acessar x dentro de p1.A
quando x for public. No entanto, nao e possvel acessar x dentro de p1.B quando x for
private
No
c
oes de Heran
ca
19. Para que serve o mecanismo de heranca em orientacao a objetos?
20. Considere o c
odigo C# abaixo:
class Animal {
private String dna;
public virtual void Comer() {}
}
class Cavalo : Animal {
//
}
class Vaca : Animal {
public override void Comer() {}
}
Quais das afirmativas abaixo s
ao verdadeiras?
(a) Cavalo e subclasse de Animal
(b) Vaca e subclasse de Cavalo
(c) Animal e subclasse de Cavalo
(d) Cavalo herda o metodo Comer
(e) Cavalo herda o atributo dna
(f) Vaca sobrescreve o metodo Comer
(g) Vaca sobrecarrega o metodo Comer
permitido declarar novos metodo na classe Vaca, alem dos que foram herdados.
(h) E