Labor – Osztály deklarálása általános használatával

Befejeződött

Ebben a laborban általános eszközökkel bővítheti az osztály funkcióit.

1. gyakorlat: Osztály deklarálása általános használatával

Az DataStore osztály olyan segédprogramfüggvényeket tartalmaz, amelyek legfeljebb tíz string elemet tárolhatnak egy tömbben, és visszaadhatják az egyes elemekben tárolt értéket. Ebben a gyakorlatban egy általános használatával fogja újraírni az DataStore osztályt, hogy az a példányosításkor megadott bármilyen típusú elemeket tárolhassa.

  1. Klónozza a kezdő adattárat a parancssorba az alábbiak beírásával.

    git clone https://github.com/MicrosoftDocs/mslearn-typescript
    cd mslearn-typescript/code/module-06/m06-start
    code .
    
  2. Nyissa meg a fájlmodul06.ts fájlt.

  3. Keresse meg a következőt TODO: Add and apply a type variable: .

  4. Az osztálydeklarációban DataStore adjon hozzá egy úgynevezett típusváltozót T.

    class DataStore<T> {
        // existing code...
    }
    
  5. Adja hozzá a típusváltozót T a _data tulajdonságdeklarációhoz.

    private _data: Array<T> = new Array(10);
    
  6. A függvényben AddOrUpdate frissítse a paraméter típusát item a típusváltozóra T.

    AddOrUpdate(index: number, item: T) {
        if(index >=0 && index <10) {
            this._data[index] = item;
        }
    }
    
  7. Keresse meg a következőt TODO Test items as numbers: .

  8. Ellenőrizze, hogy a típusváltozó képes-e számokat fogadni. Deklaráljon egy új változót, empIDs és rendeljen hozzá egy új DataStore objektumot. Hívja meg a függvényt AddOrUpdate , és rendeljen hozzá számtípuselemeket.

    let empIDs = new DataStore<number>();
    empIDs.AddOrUpdate(0, 50);
    empIDs.AddOrUpdate(1, 65);
    empIDs.AddOrUpdate(2, 89);                  
    console.log(empIDs.GetData(0));         // returns 50
    
  9. Keresse meg a következőt TODO Test items as objects: .

  10. Ellenőrizze, hogy a típusváltozó elfogad-e egyéni objektumot. Deklaráljon egy meghívást, amely három tulajdonságot tartalmaz: name mint a string, breed mint a string, és age mint a number.typePets Deklaráljon egy új változót, pets és rendeljen hozzá egy új DataStore objektumot. Hívja meg a függvényt AddOrUpdate , és rendeljen hozzá Pet objektumokat.

    type Pets = {
        name: string;
        breed: string;
        age: number
    }
    let pets = new DataStore<Pets>();
    pets.AddOrUpdate(0, { name: 'Rex', breed: 'Golden Retriever', age: 5});
    pets.AddOrUpdate(1, { name: 'Sparky', breed: 'Jack Russell Terrier', age: 3});
    console.log(pets.GetData(1));         // returns { name: 'Sparky', breed: 'Jack Russell Terrier', age: 3 }
    

Tesztkörnyezeti megoldás

A kód végleges verziójának megtekintéséhez írja be a következőt a parancssorba.

cd ../m06-end
code .

Nyissa meg a fájlmodul06.ts fájlt a labor megoldásának megtekintéséhez. A megoldás futtatásához a fejlesztői környezet beállításával kapcsolatos további információkért tekintse meg a fenti Tesztkörnyezet beállítási szakaszát.