[Ruby] Вызов переопределенного метода базового класса из дочернего

Ilya Palagin tux at fioc.kz
Fri Oct 11 20:59:51 MSD 2002


Olonichev Sergei wrote:
> Привет Все!
> 
> У меня вот такой вопрос:
> 
> class A
> public
>     def qqq()
>         puts "B"
>     end
> end
> 
> class B < A
> public
>     def qqq()
>         puts "B"
>     end
> 
>     def www()
>         # Как отсюда вызвать A::qqq ?
>     end
> end
> 
> 
> С уважением,
> Сергей

Если вы хотите сделать метод доступным для
других классов и модулей, определите его как
instance method (метод экземпляра класса, который
будет работать, даже если вы не создали объект данного
класса)

class A
   public
    def A::qqq()
      puts "B"
    end
end

class B < A
   public
     def qqq()
       puts "C"
     end

   def www()
     qqq()
     A::qqq() # вызвать A::qqq
   end
end

# Check it out
A::qqq
b = B.new()
b.www





More information about the Ruby mailing list