Answer:
Polymorphism
Step-by-step explanation:
You can have a basic button class that gets inherited by other classes.
class Button {
function pushButton(){}
}
class ElevatorButton extends Button{};
class BigRedButton extends Button{};
With these new classes, they inherit from the basic button class. They can decide what happens when the method pushButton() is called.
You don't need to worry about what pushButton() actually does, you can just call it if the object is of the type "Button" and you can expect it to work.