Home » destaques
[Ruby] Como verificar se uma classe implementou um determinado método
Submitted by josenaves on 4 Oct ’11 – 10:06No Comment
A linguagem Ruby não possui o conceito de interface como Java. Ruby usa o conceito de “Duck Typing” onde devemos “confiar” que as classes sigam o “contrato” e implementem o(s) método(s). Se a classe não implementar teremos um erro de runtime.
Para evitar isso, é possível checar se uma determinada classe implementa um determinado método. Por exemplo, queremos saber se a classe User implementa o método execute. Para conseguir isso, temos um método chamado method_defined?
Então, ficamos com o seguinte código:
if user.method_defined? :execute
# chama o método
user.execute
else
# erro
end
Buscaram este artigo com estas palavras:
Tags: duck typing, interfaces, programação, Ruby


