Junior
Como é que a classe filha utiliza a funcionalidade da classe pai?
sobes.tech IA
Resposta da IA
Através de herança: a classe filha recebe os membros públicos e protegidos da classe pai.
- Acesso direto: Pode-se aceder diretamente aos campos e métodos públicos e protegidos do pai pelo seu nome dentro da classe filha.
- Palavra-chave
super: Usada para chamar o construtor do pai ou para aceder aos métodos/campos sobrescritos do pai quando na classe filha há membros com o mesmo nome. - Sobrescrita (overriding): Os métodos do pai (que não sejam
final) podem ser sobrescritos na classe filha, alterando o seu comportamento.
// Exemplo de classe pai
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Valor do pai: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Este método não pode ser sobrescrito.");
}
}
// Exemplo de classe filha
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Chamada ao construtor do pai
this.childValue = childValue;
}
// Sobrescrever método do pai
@Override
public void displayParentValue() {
System.out.println("Valor sobrescrito do pai: " + parentValue); // Acesso ao campo protegido do pai
}
public void displayChildValue() {
System.out.println("Valor da criança: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Chamada ao método do pai via super
}
}