Informática, perguntado por joaormda, 11 meses atrás

No estudo sobre herança, sabemos que, para aplicar este conceito, precisamos analisar com cuidado nosso projeto, de forma a identificar quais são as classes que devem estender de uma determinada classe. Dessa forma, podemos fazer com que diferentes classes possuam características e comportamentos em comum. Para validarmos nossas ideias, vamos aplicar os de herança em um cenário. Analisando as classes abaixo:

class Guerreiro extends Humano {
private int furia;
private void setFuriaA(int furia) {
this.furia = furia;
}


public int getFuria( ) {
return furia;
}
}


class Humano {
private int vida;
private int forca;
public int getVida( ) {
return vida;
}


public void setVida(int vida) {
this.vida = vida;
}


public int getForca() {
return forca;
}
public void setForca(int forca) {
this.forca = forca;
}


public int atacar( ){
return this.vida/2 * this.forca;
}
}
class Monge extends Guerreiro {
private int espirito;
void setEspirito(int espirito) {
this.espirito = espirito;
}



public int getEspirito( ) {
return espirito;
}
}


Após feita a análise, responda:



1. quais os métodos e os atributos são acessíveis em todos os objetos de qualquer uma das classes?


2. quais métodos e atributos são acessíveis apenas para objetos da classe Monge ?

Soluções para a tarefa

Respondido por cledersonbc
5

Resposta:

1)

  • Métodos: getVida, setVida, getForca, setForca, atacar.
  • Atributos: -

2)

  • Métodos: getEspirito, setEspirito.
  • Atributos: espirito.

Explicação:

Com o Diagrama de Classes podemos entender a resposta. Faz sentido que o que esteja no topo da hierarquia da herança seja visível a todas as suas subclasses, desde que a visibilidade do método ou atributo seja pública (ou protegida). Portanto, get/set vida e get/set forca são métodos visíveis em todos os níveis da hierarquia. Por outro lado, os atributos vida e forca não são visíveis às subclasses porque são privados (visíveis apenas a superclasse).

O Monge se encontra no fim da hierarquia. É visível somente ao Monge os seus métodos e atributos (get/set espirito e esperito). Se Monge tivesse uma subclasse, como MongeDoFogo, então a história mudaria e não haveria métodos visíveis apenas a ele, a não ser que a visibilidade dos métodos fosse trocada.

Anexos:
Respondido por kellypmcampos
2

Resposta:

Resposta Correta:  

Correta  

Resposta:

1. Atributo vida e método setVida(), respectivamente.

2. Todos os métodos e atributos dela e pertencentes as heranças.

Explicação:

Quando utilizamos herança, a classe que herda, herda todos os métodos e atributos da classe base.

Perguntas interessantes