Neste artigo você vai aprender a como utilizar get e set em TypeScript, vamos utilizar uma explicação simples e abordagem eficaz!

Get e Set em TypeScript capa

Fala programador(a), beleza? Bora aprender mais sobre get e set em TS!

Introdução

TypeScript, um superconjunto tipado de JavaScript, nos permite escrever código JavaScript de maneira mais robusta e fácil de manter.

Uma das características úteis do TypeScript são os métodos “get e set”. Esses métodos são usados para controlar o acesso e a modificação de atributos em classes, permitindo uma programação mais limpa e segura.

Neste artigo, vamos explorar como utilizar get e set em TypeScript, e como eles podem melhorar a qualidade do seu código.

Entendendo Get e Set em TypeScript

Os métodos get e set em TS são chamados de “acessores”.

Eles funcionam como propriedades virtuais, permitindo que você controle o acesso e a manipulação dos atributos das classes.

Esses acessores ajudam a manter o encapsulamento e a separação de preocupações no seu código, o que é uma prática recomendada em programação orientada a objetos.

Exemplo de Uso de Get e Set em TypeScript

Vamos começar com um exemplo simples de uma classe chamada “Pessoa”, que possui os atributos “nome” e “idade”.

Utilizaremos os métodos get e set para controlar o acesso a esses atributos.

class Pessoa {
  private _nome: string;
  private _idade: number;

  constructor(nome: string, idade: number) {
    this._nome = nome;
    this._idade = idade;
  }

  // Acessor get para o atributo nome
  get nome(): string {
    return this._nome;
  }

  // Acessor set para o atributo nome
  set nome(novoNome: string) {
    if (novoNome && novoNome.length > 0) {
      this._nome = novoNome;
    } else {
      throw new Error("O nome não pode ser vazio.");
    }
  }

  // Acessor get para o atributo idade
  get idade(): number {
    return this._idade;
  }

  // Acessor set para o atributo idade
  set idade(novaIdade: number) {
    if (novaIdade >= 0) {
      this._idade = novaIdade;
    } else {
      throw new Error("A idade não pode ser negativa.");
    }
  }
}

No exemplo acima, declaramos uma classe chamada “Pessoa” com dois atributos privados, “_nome” e “idade”.

Em seguida, utilizamos os métodos get e set para controlar o acesso e a manipulação desses atributos.

Agora, vamos ver como podemos interagir com esses acessores:

const pessoa = new Pessoa("João", 30);
console.log(pessoa.nome); // Saída: "João"
console.log(pessoa.idade); // Saída: 30

pessoa.nome = "Maria";
pessoa.idade = 25;
console.log(pessoa.nome); // Saída: "Maria"
console.log(pessoa.idade); // Saída: 25

Repare que, apesar de estarmos usando métodos get e set, a sintaxe para acessar os atributos é a mesma que usaríamos se estivéssemos acessando atributos públicos diretamente.

Quer aprender mais sobre React? Confira o vídeo abaixo:

Conclusão

Os métodos get e set em TypeScript são ferramentas poderosas que ajudam a manter seu código organizado, limpo e seguro.

Eles permitem um maior controle sobre o acesso e a manipulação de atributos, preservando o encapsulamento e a separação de preocupações, que são práticas fundamentais na programação orientada a objetos.

Além disso, os acessores get e set em TS nos ajudam a manter a integridade dos dados, permitindo que validações sejam realizadas antes de atribuir valores aos atributos da classe.

Isso é especialmente útil quando trabalhamos com sistemas complexos e projetos em equipe, onde a consistência dos dados é essencial.

Em resumo, utilizar get e set em TypeScript é uma prática recomendada para desenvolver código mais estruturado, fácil de manter e seguro.

Ao adotar esses métodos em suas classes, você estará aprimorando a qualidade do seu código e garantindo a consistência dos dados em suas aplicações.

Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.

Nosso principal objetivo é tornar você um dev no menor tempo possível, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments