Promoção no ar
Tempo restante da oferta:
13 Horas
38 Min
31 Seg
Assinar →

Modificadores de acesso no TypeScript

Nester artigo vamos aprender a utilizar os modificadores de acesso das propriedades de uma classe no TypeScript.

Wesley Gado 5 anos atrás

No artigo trabalhando com classes em TypeScript, aprendemos a criar uma classe com suas propriedades e instanciar um objeto, agora vamos ver como controlar o comportamento de acesso dessas propriedades, para isso utilizaremos os modificadores de acesso.

Curso Node.js - Fundamentos Conhecer o curso

Modificadores de acesso no TypeScript

Seguindo o exemplo do artigo classes no TypeScript temos a classe Pessoa com 3 propriedades, nome, idade e estaVivo:

class Pessoa{
	nome: string;
	idade: number;
	estaVivo; boolean;
}

Perceba que não há nenhuma palavra antes das propriedades, isso significa que elas irão receber o modificador “public” por padrão, ou seja, elas são públicas e podem ser acessadas e alteradas tanto dentro da classe ou fora dela, não tendo um escopo de “segurança”.

Para ter esse controle, há os modificadores de acesso, são eles:

Public

Pode ser acessado tanto pela mesma classe, classes filhas e outras classes.

class Pessoa{
	nome: string = "TreinaWeb";
	idade: number = 12
	estaVivo: boolean = true;
}

let pessoa = new Pessoa();
pessoa.nome = "Paulo"; //com o modificador public podemos acessar e alterar o valor da
											//propriedade nome fora da classe

Private

Pode ser acessada somente pela própria classe.

class Pessoa{
	private nome: string = "TreinaWeb";
	idade: number = 12
	estaVivo: boolean = true;
}

let pessoa = new Pessoa();
pessoa.nome = "Paulo"; //Utilizando private não podemos mais acessar desta forma

Protected

Pode ser acessado pela mesma classe e classes filhas, não pode ser acessado por outras classes.

class Pessoa{
	nome: string;
	idade: number;
	protected estaVivo: boolean;

	constructor(nome: string, idade: number, estaVivo: boolean){
    	this.nome = nome;
    	this.idade = idade;
    	this.estaVivo = estaVivo;
	}
}

class PessoaFisica extends Pessoa{
  cnpj: number;

  constructor(nome: string, idade: number, estaVivo: boolean, cnpj: number){
	super(nome, idade, estaVivo); //ao utilizar protected, podemos acessar por classes
	this.cnpj = cnpj;             //filhas e pela própria classe;
  }
}
 

Readonly

Pode ser acessado fora da classe, mas não é possível alterar o seu valor.

class Pessoa{
	nome: string = "TreinaWeb";
	idade: number = 12
	readonly estaVivo: boolean = true;
}

let pessoa = new Pessoa();
console.log(pessoa.estaVivo); //a propriedade estaVivo será exibida com sucesso.
pessoa.estaVivo = false; //Mas não podemos alterar essa propriedade.

Ao usar os modificadores nós adicionamos camadas de segurança de acesso para a nossa aplicação. Desta forma, para auxiliar na manipulação destes dados, contamos com os métodos assessores Get e Set. com eles nós podemos acessar e alterar propriedades private/protected.

Métodos Get e Set

Agora podemos criar os métodos Get e Set da seguinte maneira:

class Pessoa{
	private nome: string = "TreinaWeb";
	private idade: number = 12
	readonly estaVivo: boolean = true;

  setNome(nome: string){
    this.nome = nome;
  }

  getNome(): string{
    return this.nome;
  }
}

let pessoa = new Pessoa();
pessoa.setNome('TW');
console.log(pessoa.getNome());

Perceba que utilizamos o pessoa.setNome(‘TW’) para alterar a propriedade nome, logo em seguida, utilizamos o método pessoa.getNome(); para acessar a propriedade.

Curso TypeScript - Fundamentos Conhecer o curso

No TypeScript nós temos outra maneira de usar o Get e Set, que é utilizando a palavra-chave respectiva de cada método, da seguinte forma:

class Pessoa{
	private _nome: string = "TreinaWeb";
	private idade: number = 12
	readonly estaVivo: boolean = true;

  set nome(nome: string){
    this._nome = nome;
  }

  get nome(): string{
    return this._nome;
  }
}

let pessoa = new Pessoa();
pessoa.nome = 'TW'
console.log(pessoa.nome);

Neste caso podemos utilizar as palavras chave “get” e “set” diretamente, e por padrão, o nome do método é o mesmo da propriedade, que ganha o prefixo ‘_’ como podemos ver em _nome.

Assim, quando vamos utilizar os métodos Get e Set desta forma, passamos o objeto e a propriedade de forma similar como se estivéssemos acessando diretamente a propriedade.

Conclusão

Neste artigo entendemos o comportamento dos modificadores de acesso e dos métodos assessores e como podemos utilizar esses conceitos do paradigma de orientação a objetos com o TypeScript, tornando o código mais confiável para o desenvolvimento de nossas aplicações.

Curso TypeScript - Avançado Conhecer o curso

Por fim, caso queira aprender mais sobre TypeScript saiba que aqui na TreinaWeb temos o curso TypeScript - Avançado que possui 01h21 de vídeos e um total de 14 exercícios. Conheça também nossos outros cursos de TypeScript.

Veja quais são os tópicos abordados durante o curso de TypeScript - Avançado:

  • Decorators;
  • Generics;
  • Type Alias e Unions;
  • Type Guards
  • Debug;
  • Dicas e boas práticas.
Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 13h 38min 31s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora