import { Observer, Subject } from './Subject.js';

class Fish {
  constructor(weight) {
    super();
    this.weight = weight;
  }
  getWeight() {
    return this.weight;
  }
  getSpecies() {
    return this.species;
  }
}

class Salmon extends Fish {
  constructor() {
    super(2);
    this.species = 'Atalntinc salmon';
  }
}

class Tuna extends Fish {
  constructor() {
    super(200);
    this.species = 'Bluefin tuna';
  }
}

class Fisherman {
  constructor(name) {
    super();
    this.name = name;
  }
}

// Main
const bob = new Fisherman('Bob');

const fish1 = new Tuna();
const fish2 = new Salmon();
// 1. subsribe bob (observer) to fish1 and fish2 (subjects)

// 2. fishes (subjects) notify when they are caught
