Popcorn Hack #1

Create a child class of the class Appliance, and call it’s name() function

%%js 
    class Appliance {
        constructor(name) {
            this.name = name;
        }
        getName() {
            return "I am a " + this.constructor.name + " and my model is " + this.name;
        }
    }
    // Below this name the class and cause it to inherit from the Appliance class
    class airFryer extends Appliance{
        constructor(name) {
            super(name);
    }   
        
    }
    let airFryer5000 = new airFryer("airFryer5000")
    console.log (airFryer5000.getName())
<IPython.core.display.Javascript object>

Popcorn Hack #2

Create child classes of the product class with items, and add parameters depending on what it is. An example is provided of a bagel.

%%js
class Product {
    constructor(price, size, taxRate) {
        this.price = price;
        this.size = size;
        this.taxRate = taxRate;
    }   
    getPrice() {
        return this.price + this.taxRate * this.price;
    }
    product() {
        const className = this.constructor.name.toLowerCase();
        return "You are ordering a " + className + " with a price of " + this.getPrice() + " dollars, a size of " + this.size;
    }
}

class KgCheetos extends Product {
    constructor(price, size, taxRate, flavor) {
        super(price, size, taxRate);
        this.flavor = flavor;
    }
    getPrice() {
        return super.getPrice() * this.size;
    }
    product() {
        return super.product() + " and a flavor of " + this.flavor;
    }
}

var kgcheetospuff = new KgCheetos(1.5, 2, 0.07, "cheesey");
console.log(kgcheetospuff.product());

<IPython.core.display.Javascript object>