vadnica-logo

JavaScript Razredi (ang. Classes)

Razredi so predloge za ustvarjanje objektov. Podatke združijo s kodo, ki na teh podatkih deluje. Razredi v JavaScriptu temeljijo na prototipih, vendar uvajajo lastno sintakso in semantiko. Tako kot funkcije lahko razrede definiramo na dva načina: z izrazom razreda ali z deklaracijo razreda. Izrazi razreda so lahko anonimni ali poimenovani (drugače kot spremenljivka, ki jim je dodeljena). Za razliko od deklaracij funkcij imajo deklaracije razredov enake omejitve “mrtve cone” kot spremenljivke, deklarirane z let ali const, zato se ne “dvignejo”.

PRIMER
REZULTAT

Razred je posebna vrsta funkcije, a namesto ključne besede function uporabimo ključno besedo class. Lastnosti običajno inicializiramo znotraj metode constructor().


class ImeRazreda {
    constructor() { /* ... */ }
}
        


class Oseba {
    constructor(ime, priimek) {
        this.ime = ime;
        this.priimek = priimek;
    }
}
        

Zgornji primer ustvari razred z imenom ImeRazreda/Oseba, ki ima začetne lastnosti ime in priimek. Razred (ang. Class) ni objekt — je predloga za JavaScript objekte. Ključne točke: razred definiraš s class, začetno stanje v constructor(), dedovanje z extends in klic nad-razreda s super(). Statične metode (static) kličeš na razredu, ne na instanci.

Interaktivni primer

Interaktivni primer prikazuje: (1) ustvarjanje instance razreda Oseba, (2) podrazred Uporabnik, ki deduje iz Oseba in kliče super(), (3) klic dedovanih metod, npr. polnoIme(), ter (4) statično metodo izEmaila(), ki iz e‑poštnega naslova ustvari uporabnika. Z gumbi lahko: ustvariš instanco, pokličeš metode, pregledaš JSON stanja in po nastaviš primer. Namen vaje je jasno ločiti lastnosti instance, metode razreda in statične metode.

Interaktivno: Razredi – Oseba in Uporabnik

Ustvari instanco
Klic metod
Izhod:

  
Trenutna instanca (JSON):

  

Koncepti razredov

Razred Razredi so predloge za ustvarjanje objektov. Glej primer
Uporaba razreda Ko imamo razred, ga uporabimo za ustvarjanje instanc (objektov) z new. Glej primer
constructor Inicializira začetno stanje/lastnosti nove instance. Glej primer
extends Ustvari podrazred, ki deduje lastnosti in metode nad-razreda. Glej primer
static Definira metode na razredu (klic: ImeRazreda.metoda()), ne na instanci. Glej primer
super() Kliče konstruktor ali metode nad-razreda znotraj podrazreda. Glej primer

Hvala za obisk! Dodajam politiko zasebnosti.

© 2024 Vse pravice pridržane.

Vam je koda pomagala? Če želite podpreti moj trud pri pripravi vodičev in vzdrževanju strani, mi lahko namenite donacijo za kavo.