Object Oriented Programming - Override Inherited Methods

Tell us what’s happening:
Describe your issue in detail here.

Your code so far

function Bird(){ }

Bird.prototype.fly =function() {return "I am Flying!";};
function Penguin() {}
Penguin.prototype =Object.create(Bird.prototype);
Penguin.prototype.constructor =Penguin;


Penguin.prototype.fly = function() {
  return "Alas, this is a flightless bird.";
};

let Penguin =new Penguin();
console.log(Penguin,fly())

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62

Challenge: Object Oriented Programming - Override Inherited Methods

Link to the challenge:

Please Tell us what’s happening in your own words.

Learning to describe problems is hard, but it is an important part of learning how to code.

Also, the more you say, the more we can help!

1 Like

You changed code you were not asked to change (the code outside the comments). The method you added is correct, the code surrounding it is not.

  1. You changed the string in the Bird.prototype.fly method.

  2. You changed the variable the Penguin instance is assigned to (the identifier has already been declared).

  3. You changed the method call from using a . to a , (that is not how you call a method).

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.