NBK Mundo Tech avatar

O Construtor Protegido no TypeScript

nbkmundotech

Published: 02 Jun 2019 › Updated: 02 Jun 2019O Construtor Protegido no TypeScript

O Construtor Protegido no TypeScript

Considere um exemplo de herança entre duas classes: a base classe Veiculo e a classe derivada Carro:

class Veiculo {
  constructor() {
  }
}

class Carro extends Veiculo {
  constructor() {
    super();
  }
}

Os construtores foram definidos em branco para focarmos no assunto de construtores protegidos.

Considere as seguintes expressoes:

let umVeiculo: Veiculo;
umVeiculo = new Carro();

A variável umVeiculo é declarada com tipo Veiculo. Podemos atribuir um objeto do tipo Carro à essa variàvel porque um Carro é um Veiculo.

Agora vamos ver outra expressão:

let veiculo: Veiculo = new Veiculo();

Nesse caso criamos um objeto usando a base classe Veiculo. Mas há situações em que não queremos permitir a instanciação de objetos do tipo da base classe. Isto é, só queremos permitir a construção de instância de objetos cuja classe é Carro, Moto, etc.

A maneira de resolver o problema é através da palavra chave protected. Basta adicionar à esquerda da assinatura do constructor da base classe:

class Veiculo {
  protected constructor() {
  }
}

Agora, a seguinte expressão irá causar um erro:

let veiculo: Veiculo = new Veiculo();
Constructor of class 'Veiculo' is protected
and only accessible within the class declaration.

Com a adição de protected antes da assinatura do constructor(), não é mais possível criar objetos baseados diretamente na base classe Veiculo. Em vez disso, o usuário tem criar objetos a partir de classes derivadas de Veiculo. No caso acima, temos que usar new Carro().

Para aprender mais sobre o TypeScript, assista às aulas do NBK Mundo Tech:

Nos vemos lá!

Leave O Construtor Protegido no TypeScript to:

Written by

Aulas de desenvolvimento de software online

Read more #typescript posts


Best Posts From NBK Mundo Tech

We have not curated any of nbkmundotech's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From NBK Mundo Tech