Generics e Classe

Exemplo

No exemplo abaixo, o tipo do atributo _id e o tipo do parâmetro recebido no método adicionar são definidos na variável de tipo da classe <T,K>. No exemplo, temos a implementação de dois tipos de lista, uma de string e outra de number.


class ListaGenerica<T,K>{

    private _id: K
    lista: T[] = [];

    constructor(id: K){
        this._id = id;
    }

    adicionar(arg: T){
        this.lista.push(arg);
    }

    imprimir(){
        this.lista.forEach(e => console.log(e));
    }

    public get id() : K {
        return this._id
    }

}

let listg  = new ListaGenerica<number, string>("xyz");
listg.adicionar(10);
listg.adicionar(15);
listg.adicionar(3);

listg.imprimir();
console.log(listg.id)

let listg2  = new ListaGenerica<string,number>(12);
listg2.adicionar('texto-01');
listg2.adicionar('texto-02');
listg2.adicionar('texto-03');

listg2.imprimir();
console.log(listg2.id)

Versão 5.3 - Todos os Direitos reservados