Exercise - Inherit Something

by Jennifer Piccione

JavaScript

/*
(1) choose a subject to model inheritance:
    * Animal -> Mammal -> Horse -> Clydesdale
    * Vehicle -> Automobile -> SUV -> Land Cruiser
    * Profession -> Engineer -> Software Architect
    * etc.

(2) write constructor functions to create a series of objects that inherit from their predecessors

(3) now try the same with Object.create()
*/
console.clear();

//Using constructor
function Teacher(name) {
    this.name = name;
};

Teacher.prototype.sayName = function() {
    console.log(this.name);
};

function Student(name) {
    Teacher.call(this, name);
};

Student.prototype = new Teacher();

var passenger = new Teacher("Peter");
var driver = new Student("Ben");

passenger.sayName();
driver.sayName();

//using object.create()
var template = {
    sayName: function(){
        console.log(this.name);
    }
};

var passenger = Object.create(template, {name: {value: "Peter"}}); 
var drivier = Object.create(template, {name: {value: "Ben"}});
//along with "value", you can say writable, readable, etc.

passenger.sayName();
driver.sayName();