溫馨提示×

Ruby繼承機(jī)制如何區(qū)分實例變量

小樊
81
2024-11-06 07:34:41
欄目: 編程語言

在Ruby中,繼承機(jī)制通過繼承類和重寫方法來實現(xiàn)。實例變量是在類的實例中定義的變量,它們以@開頭。在繼承關(guān)系中,子類可以訪問父類的實例變量,但是如果要在子類中修改這些變量,需要使用super關(guān)鍵字來調(diào)用父類的方法。

以下是一個簡單的例子來說明如何在Ruby中使用繼承機(jī)制區(qū)分實例變量:

# 父類
class Parent
  def initialize
    @parent_var = "I am a parent variable"
  end

  def show_parent_var
    puts @parent_var
  end
end

# 子類
class Child < Parent
  def initialize
    super # 調(diào)用父類的初始化方法,這樣子類實例也可以訪問父類的實例變量
    @child_var = "I am a child variable"
  end

  def show_child_var
    puts @child_var
  end

  def show_parent_var # 重寫父類的方法
    puts @parent_var
  end
end

# 創(chuàng)建子類實例
child = Child.new

# 訪問父類和子類的實例變量
child.show_parent_var # 輸出: I am a parent variable
child.show_child_var # 輸出: I am a child variable

在這個例子中,我們創(chuàng)建了一個名為Parent的父類和一個名為Child的子類。父類有一個實例變量@parent_var和一個方法show_parent_var。子類繼承了父類,并重寫了show_parent_var方法。同時,子類還有一個自己的實例變量@child_var和一個方法show_child_var。

當(dāng)我們創(chuàng)建一個Child類的實例并調(diào)用它的方法時,我們可以看到父類和子類的實例變量都可以被訪問和修改。這就是Ruby繼承機(jī)制如何區(qū)分實例變量的方法。

0