JSFiddle - React, Tailwind, and code Playground

by kalinin sergey

JavaScript

class PizzaStorage {
  constructor() {
    this.count = 10;
  }

  minus(count) {
    this.count = this.count - count;
  }
}


class Customer {
  constructor(name, storage) {
    this.name = name;
    this.storage = storage;
  }

  eat() {
    this.storage.minus(1);
  }
}


class FatCustomer extends Customer {
  constructor(name, storage) {
    super(name, storage);
  }

  sayThanks() {
    console.log('thanks!')
  }
}


pizzaStorage = new PizzaStorage();
customer = new Customer('bill', pizzaStorage);
fatCustomer = new FatCustomer('bob', pizzaStorage);

customer.eat();
console.log(pizzaStorage.count);  

fatCustomer.eat();
console.log(pizzaStorage.count);