However, if you're referring to the concept of inheritance and calling methods from a parent class, Ruby provides the `super` keyword. Here's how it works:
Understanding `super`
* Inheritance: In Ruby, you can create classes that inherit from other classes. This means the child class automatically gets access to the parent class's methods and attributes.
* Overriding Methods: You can override methods from the parent class in the child class. This means the child class will use its own implementation of the method when called.
* `super` Keyword: If you want to call the parent class's method inside the overridden method in the child class, you use the `super` keyword.
Example
```ruby
class Vehicle
def initialize(brand)
@brand = brand
end
def start
puts "Starting #{@brand} vehicle..."
end
end
class Car < Vehicle
def start
super
puts "Engine started. Ready to drive!"
end
end
my_car = Car.new("Toyota")
my_car.start
```
Explanation:
1. We define a `Vehicle` class with a `start` method.
2. We create a `Car` class that inherits from `Vehicle`.
3. The `Car` class overrides the `start` method, but calls `super` inside to execute the `start` method from the parent `Vehicle` class.
4. When we create a `Car` object and call `start`, both the `Vehicle`'s `start` and `Car`'s `start` methods are executed.
Key Points:
* `super` calls the method of the same name in the parent class.
* You can pass arguments to `super` to pass them to the parent's method.
* If you don't use `super`, the child class's implementation of the method will completely override the parent's version.
If you have any more questions about inheritance or `super` in Ruby, feel free to ask!