Keresés


Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

Javascript feladat

181
Í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