Dclass Piece { move() { console.log('move'); } } let piece = new Piece(); piece.move();
Step-by-Step Solution
Solution:
Step 1: Identify polymorphism in code
Polymorphism requires a base class with a method overridden by subclasses. class Piece { move() { /* generic move */ } } class Pawn extends Piece { move() { /* pawn move */ } } shows a base Piece class with move(), overridden by Pawn.
Step 2: Check other options for polymorphism
class Pawn { move() { /* pawn move */ } } class Knight { jump() { /* knight jump */ } } lacks shared method names; function move(piece) { if(piece.type == 'pawn') { /* move */ } else { /* no move */ } } uses conditional logic, not polymorphism; class Piece { move() { console.log('move'); } } let piece = new Piece(); piece.move(); has no subclassing.
Final Answer:
class Piece { move() { /* generic move */ } } class Pawn extends Piece { move() { /* pawn move */ } } -> Option A
Quick Check:
Base class + overridden method = polymorphism [OK]
Quick Trick:Look for base class with overridden methods [OK]
Common Mistakes:
MISTAKES
Confusing conditional logic with polymorphism
Missing method overriding in subclasses
Ignoring inheritance structure
Master "Design — Chess Game" in LLD
9 interactive learning modes - each teaches the same concept differently