Creating objects and Inheritance in Javascript
var genericAnimal = Object.create(null);
genericAnimal.name = 'Animal';
genericAnimal.gender = 'female';
genericAnimal.description = function() {
return 'Gender: ' + this.gender + '; Name: ' + this.name;
};
console.log(genericAnimal.description());
//Gender: female; Name: Animal
var cat = Object.create(genericAnimal);
cat.purr = function() {
return 'Purrrr!';
};
var colonel = Object.create(cat);
colonel.name = 'Colonel Meow';
var puff = Object.create(cat);
puff.name = 'Puffy';
console.log(puff.description());
//Gender: female; Name: Puffy
function Person(name) {
this.name = name;
this.sayName = function() {
return "Hi, I'm " + this.name;
};
}
var adam = new Person('Adam');
function Ninja(name, weapon) {
Person.call(this, name);
this.weapon = weapon;
}
Ninja.prototype = Object.create(Person.prototype);
Ninja.prototype.constructor = Ninja;