Deo zbornika Učimo Javascript
Klase u Javascriptu
Klasa je kalup za pravljenje novih objekata. Stil programiranja u kome se kod organizuje u klase, naziva se objektno-orjentisano programiranje.
Pre uvođenja klasa u Javascript, u tu svrhu su se koristile konstruktorske funkcije.
Primer: klasa Junak
U Javascriptu, možemo “ručno” praviti objekte, na sledeći način:
const covek = {
energija: 100,
napadni(neprijatelj) {
neprijatelj.energija -= 20
}
}
const ork = {
energija: 100,
napadni(neprijatelj) {
neprijatelj.energija -= 20
}
}
console.log('Pocetna energija orka: ' + ork.energija)
covek.napadni(ork)
covek.napadni(ork)
console.log('Trenutna energija orka: ' + ork.energija)
Međutim, možemo napraviti zajedničku klasu, na osnovu koje ćemo instancirati nove objekte:
class Junak {
constructor() {
this.energija = 100
}
napadni(neprijatelj) {
neprijatelj.energija -= 20
}
}
const covek = new Junak()
const ork = new Junak()
console.log('Pocetna energija coveka: ' + covek.energija)
ork.napadni(covek)
ork.napadni(covek)
console.log('Trenutna energija coveka: ' + covek.energija)
Objekti napravljeni na osnovu klase zovu se instance.
Po pravilu, naziv klase se piše velikim slovom, što je konvencija koje se drže razni jezici.
constructor
metoda
U telu klase se mogu nalaziti samo metode. Ako želimo da dodamo neko svojstvo, kao što je energija
, to moramo učiniti unutar predviđenog constructor
metoda.
Konstruktor je specijalni metod koji se koristi za inicijalizaciju objekta kojeg kreiramo pomoću klase. Klasa može imati samo jedan konstruktor.