在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
方法。
通过这种方式,我们可以实现代码复用,提高代码的可维护性和可扩展性。当需要修改父类的方法时,子类会自动继承这些更改。