Você está na página 1de 3

UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

GABINETE DA REITORIA
GESTÃO DOS PROJETOS E ATIVIDADES DE EDUCAÇÃO A DISTANCIA
RESOLUÇÃO Nº 709/2009 – DOE DE 21/07/2009

Curso: Licenciatura em Computação


Disciplina: Programação II

Gabarito Avaliação de Aprendizagem


Questão 1

Analise a imagem e, utilizando seu conhecimento sobre orientação a objetos, responda as questões abaixo
utilizando V para verdadeiro e F para falso:

( F ) A classe Carro é uma classe concreta, ou seja, permite ser instanciada


( V ) Uma classe abstrata é aquela que não permite a criação de instâncias, ou seja, possibilita apenas que
outras classes a herdem. Pois as classes abstratas existem para representar entidades e conceitos abstratos
( F ) Polimorfismo só existe quando temos três classes com uma Superclasse Abstrata ou Não e
obrigatoriamente um método abstrato assinado na Superclasse
( V ) O método autonomia() da classe CarroAlcool sobrescreve o método da classe pai.
( F ) A classe CarroFlex herda da classe CarroGasolina
( V ) Encapsulamento é uma forma de proteger dados
( V ) O encapsulamento facilita mudanças no código, pois isola pedaços reduzindo complexidade e
acoplamento
( F ) Classes concretas podem possuir métodos abstratos
( V ) CarroGasolina é uma especialização da classe Carro
( F ) É possível criarmos uma classe CarroGas que herda de Carro e não implementa o método consumo()

Questão 2

Analise o código abaixo e responda as questões utilizando V para verdadeiro e F para falso:

# Código
1 package br.uneb;
2
3 public class Animal {
4 public void procurarComida(){
5 System.out.println("Animal observa o ambiente em busca de comida");
6 }
7
8 public void locomover(){
9 System.out.println("Animal está se movendo");
10 }
11 }
1 package br.uneb;
2
3 public class Cachorro extends Animal {
4 public String raca;
5 public String porte;
6 public String tamanhoDoPelo;
7 public String nome;
8 public int idade;
9 public boolean possuiRabo = true;
10
11 public void latir() {
12 System.out.println("Au au!");
13 }
14
15 public void abanarORabo() {
16 if (possuiRabo) {
17 System.out.println("Cachorro feliz ao abanar o rabo");
18 } else {
19 System.out.println("Cachorro triste por não ter um rabo para abanar");
20 }
21 }
22
23 public void procurarComida() {
24 System.out.println("Cachorro cheirando o ambiente em busca de comida");
25 }
26 }
1 package br.uneb;
2
3 public class Teste {
4
5 public static void main(String[] args) {
6 Animal meuAnimal = new Cachorro();
7 animal.procurarComida();
8 ((Animal) meuAnimal).procurarComida();
9
10 Animal meuAnimal2 = new Animal();
11 ((Animal) meuAnimal2).procurarComida();
12
13 meuAnimal.locomover();
14
15 }
16 }

( V ) A classe Cachorro implementa o conceito de herança


( V ) O método procurarComida() da classe Cachorro implementa o conceito de sobrecarga
( F ) Em relação à classe Cachorro: raca, porte, tamanhoDoPelo, nome, idade, possuiRabo são métodos da
classe e latir, abanarORabo, procurarComida seus atributos;
( V ) Se alterássemos o método procurarComida() da classe Cachorro substituindo a linha 24 por
super.procurarComida() o mesmo exibirá a mensagem “Animal observa o ambiente em busca de comida”
ao ser executado;
( F ) Com relação ao método main(String[] args) da classe Teste: meuAnimal corresponde a uma instância
da classe Animal
( F ) A linha 7 da classe Teste irá exibir a mensagem “Animal observa o ambiente em busca de comida”
( F ) A linha 8 da classe Teste irá exibir a mensagem “Animal observa o ambiente em busca de comida”
( V ) A linha 11 da classe Teste irá exibir a mensagem “Animal observa o ambiente em busca de comida”
( V ) Em relação ao método main(String[] args) da classe Teste: meuAnimal possui o método
abanarORabo() da classe Animal. Contudo, não conseguirá executá-lo a menos que haja um cast do mesmo
para Cachorro. E.g. ((Cachorro) meuAnimal).abanarORabo()
( F ) A linha 13 da classe Teste está incorreta, uma vez que meuAnimal não possui o método locomover()

Você também pode gostar