在Ruby中,繼承是通過創建一個子類來實現的,子類繼承父類的屬性和方法。這樣可以實現代碼復用,提高代碼的可維護性和可擴展性。以下是一個簡單的示例:
# 父類
class Animal
def initialize(name)
@name = name
end
def speak
puts "The animal makes a sound"
end
end
# 子類
class Dog < Animal
def initialize(name, breed)
super(name) # 調用父類的構造方法,實現代碼復用
@breed = breed
end
def speak
puts "#{@name} the #{@breed} barks"
end
end
# 子類
class Cat < Animal
def initialize(name, color)
super(name) # 調用父類的構造方法,實現代碼復用
@color = color
end
def speak
puts "#{@name} the #{@color} cat meows"
end
end
# 創建對象
dog = Dog.new("Buddy", "Golden Retriever")
cat = Cat.new("Whiskers", "Black")
# 調用方法
dog.speak
cat.speak
在這個示例中,我們創建了一個名為Animal
的父類,它有一個構造方法和一個名為speak
的方法。然后我們創建了兩個子類Dog
和Cat
,它們分別繼承了Animal
類。在子類的構造方法中,我們使用super
關鍵字調用了父類的構造方法,這樣可以實現代碼復用。最后,我們創建了Dog
和Cat
對象,并調用了它們的speak
方法。
通過這種方式,我們可以實現代碼復用,提高代碼的可維護性和可擴展性。當需要修改父類的方法時,子類會自動繼承這些更改。