class Item {
  // Statická proměnná pro sledování počtu vytvořených instancí
  static totalItemsCreated = 0;
  constructor(name, description, useTime) {
    this.name = name;
    this.description = description;
    this.useTime = useTime;
    this.#useCount = 0; // Skrytá proměnná instance pro sledování počtu použití
    // Zvýšení počtu vytvořených instancí
    Item.totalItemsCreated += 1;
  }
  #useCount; // Deklarace skryté proměnné instance
  use() {
    this.#useCount += 1; // Zvýšení počtu použití
    return `Používá se ${this.name} (${this.description}), což trvá ${this.useTime} sekund. Počet použití: ${this.#useCount}.`;
  }
  // Statická metoda pro získání celkového počtu vytvořených instancí
  static getTotalItemsCreated() {
    return Item.totalItemsCreated;
  }
}
const baterka = new Item("Baterka", "osvětluje cestu", 0);
console.log(baterka.use());  // Použije baterku a vypíše zprávu
const lekarnicka = new Item("Lékárnička", "léčí zranění", 20);
console.log(lekarnicka.use());  // Použije lékárničku a vypíše zprávu
console.log(Item.getTotalItemsCreated());  // Vypíše celkový počet vytvořených instancí Item
class Survik {
    constructor(name, item) {
        this.item = item
        this.name = name
    }
    
    set_item(item) {
        this.item = item
    }
    
    use_item() {
        const item_line = this.item.use()
        console.log(`${this.name} pouziva ${this.item.name}: ${item_line}`)
    }
}
const pepa = new Survik('Pepik the survik', baterka)
pepa.use_item()
pepa.set_item(lekarnicka)
pepa.use_item()