zpět k lekci

Přepište na třídu

důležitost: 5

Třída Hodiny (viz pískoviště) je napsána funkcionálním stylem. Přepište ji do „třídní“ syntaxe.

P.S. Hodiny tikají v konzoli, otevřete si ji, abyste to viděli.

Otevřít pískoviště pro úlohu.

class Hodiny {
  constructor({ šablona }) {
    this.šablona = šablona;
  }

  vypiš() {
    let datum = new Date();

    let hodiny = datum.getHours();
    if (hodiny < 10) hodiny = '0' + hodiny;

    let minuty = datum.getMinutes();
    if (minuty < 10) minuty = '0' + minuty;

    let sekundy = datum.getSeconds();
    if (sekundy < 10) sekundy = '0' + sekundy;

    let výstup = this.šablona
      .replace('h', hodiny)
      .replace('m', minuty)
      .replace('s', sekundy);

    console.log(výstup);
  }

  stop() {
    clearInterval(this.časovač);
  }

  start() {
    this.vypiš();
    this.časovač = setInterval(() => this.vypiš(), 1000);
  }
}


let hodiny = new Hodiny({šablona: 'h:m:s'});
hodiny.start();

Otevřít řešení na pískovišti.