Što je klasa(class) u TypeScript-u?

Kao i kod drugih objektno orjentiranih programskih jezika imamo klase iz kojih radimo objekte.

objašnjenje za juniore:

Što je klasa?
Za junior developere bi napisao banalno prosto objašnjenje da si možete načelno u glavi posložiti koncept.

Recimo za primjer, želimo napraviti kuglu.
Zamislite klasu kao kalup za izradu kugle. Dalke klasa je kalup u koji usipamo materijal, definiramo boju, veličinu, čvrstoču i sl. tada se materijal unutra promjesa te iz toga nastane opipljiva kugla tj. objekt.

U klasi definiramo kakvu kuglu želimo, možemo definirati da želimo malu crvenu tvrdu kuglu, veliku krhku plavu ili crnu tvrdu kuglu itd. I klasa promjesa materijal koji smo ubacili i izbaci nam kuglu kakvu smo trazili.

Bitno za zapamtiti je da klasa nije opipljiva vec da je samo kalup, tj. Upute za izradu objekta (kugle).


Sintaksa klase u TypeScript-u:

class NovaKlasa {

    public Name: string;
    private Property2: number; // nije potpuno privatan property, izbacivat će grešku u compile-time ali će biti dostupan u objektu
    #Property3: string; // potpuno privatan property nije dostupan u instanciranom objektu -> uveden u TypeScript 3.8

    constructor(_Name: string) {
        this.Name = _Name;
    }

    metoda1(): number {
        return this.Property2;
    }
    metoda2(): number {
        return this.#Property3;
    }

}

Klase su slične poput klasa JavaScript ES6 klasa osim što kod TypeScripta moramo definirati tip npr, podatka, varijable, propertia, a s toga u klase možemo implementirati interface koji su također podržani u Typescriptu. Tako da tip propertia klase može biti definiran interfaceom.

1 Like