Olá Pessoal!
Peguei uma lista de exercício pra fazer. Já respondi e agora gostaria que me ajudassem e apresentasse as minhas falhas, comentando os meus erros. (as que eu respondi eu coloquei asterisco e negrito).
Obrigado pela ajuda pessoal! Obrigado pelas dicas. Valeu!!!!
1) a Classe Bicho tem um metodo andar()
** a) Toda classe derivada de bicho tera tambem esse metodo
b) Toda classe derivada de bicho tera tambem esse metodo, se andar for publico()
c) Toda classe derivada de bicho tera tambem esse metodo, se andar for pelo menos protegido
d) Toda classe derivada de bicho tera tambem esse metodo for abstrato
e) Toda classe derivada de bicho tera tambem esse metodo for estatico
2) a Class Bicho é uma generalizacao das classes Barata e Gafanhoto
a) Barata tem mais metodos e atributos que Bicho
** b) Barata nao tem menos metodos ou atributos que Bicho
** c) Gafanhoto e Barata tem os mesmos metodos
d) Gafanhoto é derivado de barata
e) Bicho tem pelo menos um construtor nao default
3) Bicho tem um construtor Bicho(String nome) O Que esta errado ?
a) Se for criado um objeto Bicho b1, tera que ser informado o nome do bicho
b) Se for criada uma classe deriavada de bicho, esse construtor nao podera ser herdado
** c) Esse constutor deve ser public ou protected, nunca private
** d) É possivel a criacao de um objeto dessa forma: Bicho b1 = new Bicho();
e) Numa classe X, derivada de Bicho , podera ser chamado super("Rex") dentro de um construtor de X.
4) Qual(quais) estao erradas abaixo, supondo que A extends B e B extends C.
a) A a = new B();
b) B b = new A();
** c) A a = new C();
d) C c = new B();
** e) C c = new A();
5) Dada a class
public class Quadrado {
}
- Adicione um atributo "lado", inteiro
- Crie um construtor para o quadrado, forcando o usuario a passar a Area do quadrado, e automaticamente calculando
seu lado ( raiz quadrada em java é Math.sqrt(x))
- Crie um metodo para pintar o quadrado com uma cor dada , sem implementa-lo.
- faca um pequeno main para criar um objeto Quadrado de area 20 e pintalo com a cor Red
public class Quadrado {
double lado;
public Quadrado(double area) {
lado = Math.sqrt(area);
System.out.println("O lado do Quadrado é " + lado);
}
public static void pintar(String cor) {
Quadrado.pintar(cor);
}
}
public static void main(String[] args) {
Quadrado a = new Quadrado(20);
String cor = (JOptionPane.showInputDialog("Qual a cor? "));
a.pintar(cor);
}
6) Uma classe é um "tipo" de objeto. Dada as classes abaixo :
public class X {
}
public class Y extends X {
}
e os objetos
X x1 = new X();
Y y1 = new Y();
X x2 = x1;
X x3 = x2;
Y y2 = y1;
Pergunta-se
- Quantas variaveis existem ? Resp. 5 variáveis
- Quantas classes ? Resp. 2 Classes
- Quantos objetos ? Resp. 2 Objetos
- Quem é mais generico. X ou Y ? Resp. X é mais genérico, pois é classe “pai”.
7) Dadas as classes abaixo, assinale Verdadeiro ou Falso. indicando o porque em caso de Falso
public class Carro
{
protected String placa;
public Carro(String pPlaca)
{
placa = pPlaca;
cor = "";
}
}
public class Palio extends Carro
{
protected cor;
public static String marca = "FIAT";
public Palio(String pPlaca, String cCor)
{
super(pPlaca);
cor = cCor;
}
}
a) a marca de um Palio pode ser obtida assim : Palio p = new Palio(); String marca = p.marca;
Falso: marca nao é um parametro definido
b) nao havera nenhum erro de compilacao
Falso: Falta declara tipo da variável: String cor;
c) a cor do carro pode ser obtida assim : String cor = Palio.cor;
Verdadeiro
d) pode-se instanciar um Palio assim : Palio p = new Carro();
Falso: Faltam parametros do construtor
e) pode-se instanciar um Palio assim : Carro c = new Palio();
Falso: Faltam Parametros do construtor[b]