OOP Studio Ages 9-15
Polymorphism Builder
Students build game objects that all use the same action method but produce different results.
Make different game objects act.
Example code
class GameObject {
constructor(name) {
this.name = name;
}
activate() {
say(this.name + " activates.");
}
}
class Door extends GameObject {
activate() {
say(this.name + " opens with a creak.");
}
}
class Treasure extends GameObject {
activate() {
say(this.name + " sparkles with coins.");
}
}
class Trap extends GameObject {
activate() {
say(this.name + " launches a foam dart.");
}
}
let roomObjects = [
new Door("Library Door"),
new Treasure("Gold Chest"),
new Trap("Practice Trap")
];
for (let object of roomObjects) {
object.activate();
}
Program result
- Run your code to see output.
Type real JavaScript, then run it.
Polymorphism builder complete.
You made several objects share one method name while keeping their own behavior.
Try Polymorphism Challenge