Back to Polymorphism
OOP Studio Ages 9-15

Polymorphism Builder

Students build game objects that all use the same action method but produce different results.

20-25 min Ages 9-15 OOP Builder JavaScript
Code Editor

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();
}
Output

Program result

Robot ready to speak your strings

Type real JavaScript, then run it.