Questão FC266127
Observe a seguinte porção de código em Java: public class Manager extends Employee { adicionar métodos e campos } public class Manager extends Employee { private double bonus; . .
Linguagens de Programação
IDECAN · 2022
Observe a seguinte porção de código em Java:
public class Manager extends Employee
{
adicionar métodos e campos
}
public class Manager extends Employee
{
private double bonus;
. . .
public void setBonus(double bonus)
{
this.bonus = bonus;
}
}
Sobre a porção de código Java acima, analise as afirmativas a seguir:
I. Se você tem um objeto Manager, você pode simplesmente aplicar o método setBonus da seguinte forma: Manager boss = . . .; boss.setBonus(5000);
II. Se você tiver um objeto Employee, poderá aplicar o método setBonus.
III. Você não pode usar métodos como getName e getHireDay com objetos Manager.
IV. Embora esses métodos não sejam definidos explicitamente na classe Manager, eles são herdados automaticamente da superclasse Employee.
Assinale
- se apenas as afirmativas I e II estiverem corretas.
- se apenas as afirmativas II e III estiverem corretas.
- se apenas as afirmativas I e IV estiverem corretas.
- se apenas as afirmativas II e IV estiverem corretas.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
As afirmativas validadas dizem que I e IV estão corretas. Isso ocorre porque a classe Manager declara explicitamente o método setBonus, logo um objeto do tipo Manager pode chamá‑lo normalmente, por exemplo: Manager boss = ...; boss.setBonus(5000);.
Além disso, por herança, a subclasse Manager recebe automaticamente os métodos da superclasse Employee que forem acessíveis (como public ou protected, ou package‑private quando no mesmo pacote). Assim, métodos como getName e getHireDay podem ser utilizados em instâncias de Manager, sem precisarem ser redefinidos na subclasse.
Conteúdo do catálogo FC Concursos · Atualizado em