Ruby动态类别

即使类不同,只要有相同的回调一样可以处理

class Duck
    def quack
        puts "quack"
    end
end

class Mallard 
    def quack
        puts "qwuaaaack!! quack"
    end 
end

birds = [Duck.new, Mallard.new,Object.new]
birds.each do |duck|
duck.quack if duck.response_to? :quack
end
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!