Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Javascript feladat

278
Írj egy Album nevű osztályt, amely egy zenealbumot reprezentál! Az
osztálynak legyen 3 adattagja: #cim (az album címe), hossz (az albumon
található zenék összesített hossza másodpercben) és egy zenek nevű tömb,
amely az albumon található zenék címét tárolja!
● A konstruktor egyetlen paramétert vár: az album címét, ami alapján
inicializálja a #cim adattagot. A hossz adattag alapból 0-ra legyen inicializálva,
míg a zenek adattagot egy üres tömbbel inicializálja a konstruktor!
○ A konstruktor paraméter értékét ne legyen kötelező megadni,
alapértéke legyen az Untitled szöveg!

● Készíts get és set property-t a #cim adattaghoz, cim néven! A getter adja
vissza az adattag értékét, a setter pedig ellenőrizze, hogy a paraméter értéke
egy legalább 3 karakter hosszú szöveg legyen!
○ Ha a setterben a paraméter típusa és értéke megfelelő, akkor állítsd be
az adattagot a paraméterre!
○ Hibás típus vagy érték esetén a setter állítsa be a Unknown szövegre
az adattag értékét!

● Írd át az osztály konstruktorát úgy, hogy a cím itt is ugyanúgy legyen beállítva,
mint a setterben!
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Informatika

Válaszok

1
Remélem a modern ECMAScript 6 alapú OOP-t tanítják nektek.
Egyébként nem értettem mit akartak a „#”-el, azt kihagytam.

class Album
{
    constructor(cim = 'Undefined')
    {
        this.cim = cim
        this.hossz = 0
        this.zenek = []
    }

    get cim()
    {
        return this._cim
    }

    set cim(cim)
    {
        this._cim = typeof cim == 'string' && cim.length >= 3 ? cim : 'Unknown'
    }
}
0