Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Programação Orientada a Objetos / Aula
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