Um momento
Aula 34
Cursos / Aprenda TypeScript - Tutorial Básico Vindo do JavaScript
Herança de Classes no TypeScript (extends)

Summary

# Aula de TypeScript: Herança de Classes

Nesta aula, aprendemos sobre **herança de classes** em TypeScript. 

## Conceito de Herança

A herança permite que classes compartilhem atributos e métodos comuns. Por exemplo, podemos ter classes `Estudante` e `Funcionário`, ambas derivadas de uma classe base `Indivíduo`, que contém propriedades e métodos comuns.

### Exemplo de Implementação

1. **Definição das Classes**:
   - A classe `Indivíduo` pode ter atributos como `nome`.
   - As classes `Estudante` e `Funcionário` herdam de `Indivíduo`.

2. **Herança**:
   - Usamos a palavra-chave `extends` para indicar que uma classe está herdando de outra.
   - Por exemplo:
     ```typescript
     class Estudante extends Indivíduo { }
     class Funcionário extends Indivíduo { }
     ```

3. **Criando Instâncias**:
   - Ao criar uma nova instância de `Estudante` ou `Funcionário`, utilizamos o construtor da classe base:
     ```typescript
     let estudante1 = new Estudante("Pedro");
     let funcionario1 = new Funcionário("Marta");
     ```

4. **Métodos Herdados**:
   - Ambas as classes podem utilizar métodos definidos na classe base, como um método `cumprimentar()`.

### Conclusão

- A herança de classes é uma maneira eficaz de compartilhar código e manter a organização.
- Para herdar de uma classe base, basta usar `extends` e, assim, a classe derivada pode utilizar atributos e métodos da classe base.

**Para a próxima aula**, continuaremos explorando mais conceitos de TypeScript. Até lá!

Video Transcript

Vamos lá, estamos de volta com mais uma aula de TypeScript. Nesta aula vamos aprender sobre herança de classes. Vamos aqui, vou começar, vou deletar esta parte aqui do Cera que não usamos mais. Vou deletar a linha 19 e 20 também. Então vamos aqui falar de herança de classes. Vamos a classe indivíduo aqui, mas vamos supor que nós queremos criar classes para, por exemplo, um estudante ou um estudante, um funcionário. Então, agora o estudante é diferente de um funcionário. A vez do funcionário recebemos salário. O estudante estuda, e o funcionário trabalha. Agora a gente poderia fazer uma classe individualmente para o estudante e para o funcionário. Mas talvez vamos supor que a classe indivíduo tivesse atributos e métodos que fossem comuns, tanto ao estudante como ao funcionário, porque ambos são indivíduos ou pessoas. Se a gente parte disso, nós podemos herdar da classe indivíduo certas propriedades. A poder fazer isso a gente vai usar a herança. Vamos supor que a gente tenha uma classe aqui, estudante, e vamos supor que a gente tenha a classe funcionária. Vamos supor que ambos estudantes e funcionários tenham propriedade e nome. Bem, a gente poderia copiar que construtou essa definição, propriedade e nome, e tal. Por exemplo, Private, Seq is Apple Read Only também, Nome, String, Private Read Only String também para o funcionário. Mas a gente só está copiando e colando a mesma coisa. Mas que tal a gente compartilhar o código de uma classe base? Nesse caso, vamos compartilhar o código do indivíduo entre o estudante e o funcionário. Para poder fazer isso, nós vamos fazer Extends depois do nome da classe. Eu vou extender de indivíduo e também funcionar o Extends indivíduo. Dessa maneira, o estudante vai herdar o que é comum ao indivíduo. O funcionário vai herdar as coisas do indivíduo, atributos e métodos do indivíduo. Dessa maneira como o indivíduo já tem propriedade e nome, não preciso mais declarar aqui porque ele vai herdar. Tá bom? E a herança é feita através da palavra Shave Extends com a base classe do lado direito e a classe que é derivada do lado esquerdo. A nossa enxergação é derivada de indivíduo. Ambos estudantes e funcionários são indivíduos. Para testar isso, vamos fazer o seguinte. Vou ver essa linha 24-27. Vou criar uma variável aqui. Por exemplo, estudante 1 é igual a new-estudante para criar uma instância. Bem, como o estudante herdou de indivíduo, ele também vai herdar o construtor. E como o construtor de indivíduo recebe o nome, nós podemos associar aqui, dá um nome a este estudante, por exemplo, Pedro. Dessa maneira, o novo instância de estudante é criada. Vai chamar o construtor da classe base, neste caso, indivíduo. Como o estudante não tem construtor, ele vai para a classe base a indivíduo. Será que tem construtor lá? Tem o construtor aqui. Vou usar esse construtor. Mesma coisa para o funcionário. Let funcionar1, você criar uma variável aqui, new funcionário. Eu posso passar o nome. Está? Demarta. Ele vai fazer a mesma coisa. Funcionário não tem construtor definido. Então, vamos olhar na classe base. Indivíduo aqui tem um construtor. Vamos usar o construtor do indivíduo. Você note que o construtor é comum. Então, o estudante como funcionário usa o construtor do indivíduo. Podemos até utilizar os métodos do indivíduo, neste caso, cumprimentar. Vamos dizer que o estudante 1.cumprimentar. Ele vai lá. Será que o estudante tem um método cumprimentar? Não. Está certo. Vamos olhar na classe base, que é o indivíduo. Tem cumprimentar? Sim. Vamos usar isso. Vai dizer um console. Oi, meu nome é, neste caso, Pedro. É uma coisa funcionária. Só pode digitar a mesma coisa. Vamos testar. Eu vou ao terminal, digitar tc para transpilar. Eu vou dizer node dist barra, o nome do arquivo indivíduo.js. Então, falou. Oi, meu nome é Pedro. O meu nome é Marta. Está bom? Estou recapitulando aqui. Aprendemos sobre a arança de classes. Do TypeScript, só fazer o quê? Só adicionar a palavra Xtent depois do nome da classe. E do lado direito de Xtent tem a base class. Você quer copiar o código, assim, por dizer, né? Na verdade, o código é compartilhado, né? Indivíduo fornece o código que é compartilhado ambos pelo estudante e pelo funcionário. Está certo? Arança de classes. Para essa aula é só. E até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: