Skip to content

Instantly share code, notes, and snippets.

@harrisonmalone
Created May 28, 2020 00:39
Show Gist options
  • Save harrisonmalone/8293d2cd32d894693d9e554b007375d3 to your computer and use it in GitHub Desktop.
Save harrisonmalone/8293d2cd32d894693d9e554b007375d3 to your computer and use it in GitHub Desktop.
// es5 prototype syntax
function Hero(name, level) {
this.name = name;
this.level = level;
}
Hero.prototype.shout = function() {
return `I'm ${this.name}!`;
};
function Power(heroName, heroLevel, power) {
Hero.call(this, heroName, heroLevel)
this.power = power
}
Power.prototype = Object.create(Hero.prototype)
const money = new Power("batman", 1000, "money")
console.log(money.shout())
// es6 prototype syntax
class Hero {
constructor(name, level) {
this.name = name
this.level = level
}
shout() {
return `I'm ${this.name}!`;
}
}
class Power extends Hero {
constructor(heroName, heroLevel, power) {
super(heroName, heroLevel)
this.power = power
}
static awesome() {
return "im awesome"
}
}
const money = new Power("batman", 1000, "money")
console.log(money.shout())
class Hero
def initialize(name, level)
@name = name
@level = level
end
def shout
"I'm #{@name}"
end
end
class Power < Hero
def initialize(name, level, power)
super(name, level)
@power = power
end
def self.awesome
return "im awesome"
end
private
def listing_params
end
end
money = Power.new("batman", 1000, "money")
p money.shout
p Power.awesome
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment