Leitura recomendada
Objetivos
Método
Os métodos são funções que nossos objetos instanciados a partir de classes possuem
e que estão disponíveis para troca de informações. Abaixo a sintaxe para declaração
de métodos:
Sintaxe
modificador_acesso nome_metodo()
{
//corpo
}
Por padrão, os métodos que não utilizam modificadores de acesso na declaração
são públicos. Abaixo os modificadores discutidos anteriormente com seus
respectivos acessos:
Tab. 1: Modificadores de acesso
Acesso |
public |
private |
protected |
Mesma Classe |
Sim |
Sim |
Sim |
Outra Classe |
Sim |
Não |
Não |
Classe Herdada |
Sim |
Não |
Sim |
Exemplo 1
class classe
{
metodo()
{
//corpo
}
}
Saída
-
Os métodos possuem as mesmas características utilizadas pelas funções vistas
em Função , exceto por pertencer a
objetos e utilizar os modificadores de acesso.
A chamada dos métodos de nossos objetos é feita utilizando o operador de acesso (.)
já visto.
Sintaxe
nome_objeto.nome_metodo();
Exemplo 2
class classe
{
metodo()
{
console.log("metodo");
}
}
let obj1 = new classe();
obj1.metodo();
Saída
metodo
Método com parâmetros e retorno
Assim como funções, os métodos possuem as mesmas características em relação ao uso de parâmetros,
retorno e sobrecarga.
Sintaxe:
modificador_acesso nome_metodo( <lista_parametros> ) : tipo_retorno {
//corpo
}
Caso um método não tenha retorno, podemos utilizar a palavra reservada void
para indicar esse caso. Em relação aos parâmetros, não precisamos utilizar a
mesma palavra reservada deixando a lista de parâmetros vazia.
Exemplo 3
class classe
{
//construtor e atribtos omitidos
metodo1(p:number) :void
{
console.log(p);
}
metodo2(p:number,q:number): number
{
return p*q;
}
metodo3(){}
}
let obj1 = new classe();
obj1.metodo1(100);
Saída
100
Método Construtor e Destrutor
O método construtor é um método especial. O método construtor, sem parâmetros,
é invocados quando instanciamos objetos utilizando new e pode contér codificação
para iniciar atributos de nossas classes.
Caso um método construtor sem parâmetros não seja definido, internamente
um construtor é criado.
Sintaxe: construtor
constructor( <lista_parametros> ){
//corpo
}
Exemplo 4
class classe
{
atributo:number = 0;
constructor(p:number){
this.atributo = p;
}
metodo(p:number) :void
{
console.log(p);
}
}
let obj1 = new classe(100);
console.log(obj1.atributo);
Saída
100
A linguagem TypesScript, diferente de C# e Java por exemplo, aceita apenas um único construtor onde iniciamos os
atribuitos de nossas classes.
Em Herança o uso de construtor com classes herdadas será visto com mais detalhes.
Métodos estáticos : static
Os métodos estáticos são métodos declarados em uma classe utilizando o modificador de acesso static de
forma a ficar "visível" sem que seja necessário instanciar um objeto para utilizar esses métodos.
Sintaxe
static nome_metodo(<lista_parametros>): tipo_retorno
{
//corpo
}
O acesso aos métodos estáticos são feitos utilizando o nome da classe em conjunto com o operador (.) seguido
do nome do métodos que desejamos invocar.
Sintaxe
nome_classe.nome_metodo(<lista_argumentos>)
Exemplo 5
class classe
{
//construtor e atributos omitidos
static metodo(p:string):void
{
console.log(p);
}
}
classe.metodo("método static");
Saída
método static
Os modificadores de acesso podem ser vistos com mais detalhes em TypeScript: Encapsulamento
Os métodos Get e Set são métodos "especiais" vinculados a atributos de classes privados.
São usados para atribuir e recuperar seus valores. A declaração desses métodos são
feitos como na sintaxe abaixo:
Sintaxe
get Nome_atributo()
{
return this.nome_atributo;
}
set Nome_atributo(parametro)
{
this.nome_atributo = parametro;
}
Como pode ser visto na sintaxe acima, o método declarado como get deve retornar o valor de um atributo
e o método set deve atribuir uma valor a um atributo. Não é necessário utilizar () ao invocar esses métodos.
Exemplo 6
class minhaClasse
{
private atributo;
get Atributo(){
return this.atributo;
}
set Atributo(p){
this.atributo = p;
}
}
let x = new minhaClasse();
x.Atributo = "Teste";
console.log(x.Atributo);
Saída
Teste
A linguagem TS possui uma característica sobrecarga de métodos que nos permite
realizar sua sobrecarga. O número de parâmetros do método devem ser os mesmos
tendo seus tipos de retorno e parâmetros diferentes.
O último método que dá sentido a sobrecarga deve possuir parâmetros e retorno
do tipo any.
Sintaxe
modificador_acesso nome_metodo( p1: tipo_dado1, p2: tipo_dado1 ): tipo_retorno1;
modificador_acesso nome_metodo( p1: tipo_dado2, p2: tipo_dado2 ): tipo_retorno2;
modificador_acesso nome_metodo( p1: any, p2: any): any {
//corpo
}
Exemplo 5
class classe
{
//construtor e atributos omitidos
metodo(p:string):void;
metodo(p:number):void;
metodo(p:number[]):void;
metodo(p:any) :void
{
console.log(p);
}
}
let obj1 = new classe();
obj1.metodo(100);
obj1.metodo("TypeScript!");
obj1.metodo([1,2,3]);
Saída
100
"TypeScript!"
[1, 2, 3]
Histórico de atualizações
- 28/08/2025 - revisão 3 - Ajustes: pontuais, exemplos, sintaxes, target de links; Adição: 'get' e 'set'
- 13/09/2024 - revisão 2 - Correção em intro de 'Método com parâmetro e retorno' e 'Sobrecarga', ajustes gramaticais
- 02/09/2024 - revisão 1 - Correção em link de objetivo: sobrecarga de métodos
- 01/03/2024 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.