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 / Jogos Digitais / Programação Orientada a Objetos / Aula
class ContaBancaria{
public _saldo: number;
constructor(saldo: number){
this._saldo = saldo
}
@test()
public sacar(valor: number){
this._saldo -= valor;
console.log('saque realizado');
}
public get saldo() : number {
return this._saldo;
}
}
function test(){
return function(target: any, nomePropriedade: string,
descritor: PropertyDescriptor){
//console.log(`Nome do método: ${nomePropriedade}`)
let metodoOriginal = descritor.value
descritor.value = function(...args: any[]){
console.log('Comandos antes da execução do método');
let retorno = metodoOriginal.apply(this, args)
console.log('Comandos depois da execução do método');
return retorno;
}
return descritor;
}
}
Versão 5.3 - Todos os Direitos reservados