Mesmo que você tenha uma classe filho (subclasse) que sobrescreva algum método da classe pai (superclasse), você ainda consegue acessar o método da classe pai usando a palavra reservada super.
Vejamos, classe Pai e Filho, a seguir:
class Pai
def metodo
puts "método de Pai"
end
end
class Filho < Pai
def metodo
super
puts "método de Filho"
end
end
Instanciando a classe Filho:
filho = Filho.new
filho.metodo
Obtemos o seguinte retorno:
método de Pai
método de Filho
Muito simples, não? Mas, o que acontece ao modificarmos os métodos da classe Pai e Filho. Dessa forma:
class Pai
def metodo
puts self.class
end
end
class Filho < Pai
def metodo
super
puts self.class
end
end
filho = Filho.new
filho.metodo
O quê deveria acontecer mesmo?
0 comentários:
Postar um comentário