Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Desenvolvido por Ralf S. Lima e licenciado para Apex Ensino 
 
Sobre Este Curso 
Público Alvo 
Programadores que têm como objetivo atuar como 
Desenvolvedor Front-End. 
Pré-Requisitos 
Conhecimentos de Lógica de Programação, HTML, CSS e 
Javascript. 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Índice i 
Índice 
SOBRE ESTE CURSO ........................................................................................................................................................... I 
PÚBLICO ALVO ........................................................................................................................................................................... I 
PRÉ-REQUISITOS ........................................................................................................................................................................ I 
ÍNDICE ............................................................................................................................................................................... I 
COPYRIGHT ...................................................................................................................................................................... II 
EQUIPE .................................................................................................................................................................................... II 
HISTÓRICO DAS EDIÇÕES ............................................................................................................................................................. II 
CAPÍTULO 01 – CONHECENDO O TYPESCRIPT ....................................................................................................................3 
CAPÍTULO 02 - ORIENTAÇÃO A OBJETOS ...........................................................................................................................4 
CAPÍTULO 03 - EXERCÍCIOS - CONCEITOS DO TYPESCRIPT .................................................................................................5 
CAPÍTULO 04 - CONFIGURANDO AMBIENTE ......................................................................................................................6 
CAPÍTULO 05 - TESTANDO APLICAÇÃO ..............................................................................................................................9 
CAPÍTULO 06 - CLASSE ..................................................................................................................................................... 12 
CAPÍTULO 07 - ATRIBUTO ................................................................................................................................................ 14 
CAPÍTULO 08 - MÉTODO ................................................................................................................................................. 16 
CAPÍTULO 09 - OBJETO .................................................................................................................................................... 18 
CAPÍTULO 10 - EXERCÍCIOS - CLASSES, ATRIBUTOS, MÉTODOS E OBJETOS ...................................................................... 20 
CAPÍTULO 11 - CONSTRUTOR .......................................................................................................................................... 21 
CAPÍTULO 12 - ENCAPSULAMENTO ................................................................................................................................. 23 
CAPÍTULO 13 - HERANÇA ................................................................................................................................................ 24 
CAPÍTULO 14 - EXERCÍCIOS - HERANÇA ........................................................................................................................... 26 
CAPÍTULO 15 - MÉTODO SUPER ...................................................................................................................................... 27 
CAPÍTULO 16 - POLIMORFISMO ...................................................................................................................................... 28 
CAPÍTULO 17 - CLASSE ABSTRATA ................................................................................................................................... 29 
CAPÍTULO 18 - INTERFACE ............................................................................................................................................... 30 
CAPÍTULO 19 - EXERCÍCIO - FINAL ................................................................................................................................... 32 
CAPÍTULO 20 - CONSIDERAÇÕES FINAIS .......................................................................................................................... 33 
 
file:///C:/Users/Apex/Desktop/Apex/Apostila/Typescript%202019.docx%23_Toc19207113
file:///C:/Users/Apex/Desktop/Apex/Apostila/Typescript%202019.docx%23_Toc19207114
file:///C:/Users/Apex/Desktop/Apex/Apostila/Typescript%202019.docx%23_Toc19207115
 
A
n
o
ta
çõ
es
 
 
 
 
 
ii Copyright 
Copyright 
As informações contidas neste material se referem ao curso de Typescript e estão sujeitas as alterações sem 
comunicação prévia, não representando um compromisso por parte do autor em atualização automática de 
futuras versões. 
A Apex não será responsável por quaisquer erros ou por danos acidentais ou consequenciais relacionados com 
o fornecimento, desempenho, ou uso desta apostila ou os exemplos contidos aqui. 
Os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de e-mail, logotipos, 
pessoas, lugares e eventos aqui representados são fictícios. Nenhuma associação a empresas, organizações, 
produtos, nomes de domínio, endereços de e-mail, logotipos, pessoas, lugares ou eventos reais é intencional 
ou deve ser inferida. 
A reprodução, adaptação, ou tradução deste manual mesmo que parcial, para qualquer finalidade é proibida 
sem autorização prévia por escrito da Apex, exceto as permitidas sob as leis de direito autoral. 
 
Equipe 
 Conteúdos 
 Ralf S. Lima 
 
Diagramação 
 Brissany C. Beltrão 
 
Revisão 
 Fernanda Pereira 
 
 
Histórico das Edições 
Edição Idioma Edição 
1a Português Agosto de 2019 
 
 
 
 
 
 
© Copyright 2019 Apex. Desenvolvido por Ralf S. Lima e licenciado para Apex Ensino 
 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 01 – Conhecendo o TypeScript 3 
Capítulo 01 – Conhecendo o TypeScript 
 
 
TypeScript é conhecido por ser um superconjunto de JavaScript (ES2015+), desenvolvido e mantido pela 
Microsoft. A linguagem conta com todas as funcionalidades do JavaScript, além da utilização de orientação a 
objetos, que podemos trabalhar em linguagens como o C#, Java, PHP, entre outras, além disso conseguimos 
definir tipos de dados nas variáveis e definir os tipos de retornos em funções. 
 A linguagem surgiu em 01 de outubro de 2012 por Anders Hejlsberg, criador do Turbo Pascal, Delphi e 
do C#, está entre as 15 linguagens mais utilizadas na atualidade pelo site RedMonk, além de estar entre as 5 
mais pesquisadas no StackOverflow em 2018. 
 Ao acessar o site http://www.typescript.org, notamos um banner com uma frase: TypeScript is a typed 
superset of JavaScript that compiles to plain JavaScript. Any browser. Any Host. Any OS. Open Source, 
traduzindo: TypeScript é um superset de JavaScript, que compila para JavaScript. Qualquer navegador, 
Qualquer hospedagem. Qualquer Sistema Operacional. Código aberto. 
 
http://www.typescript.org/
 
A
n
o
ta
çõ
es
 
 
 
 
 
4 Capítulo 02 - Orientação a Objetos 
Capítulo 02 - Orientação a Objetos 
 
 
 Talvez você já leu ou ouviu falar desse conceito, a orientação a objetos é uma maneira de abstrairmos 
nossa lógica, deixando mais parecida com o mundo real. Imagine que há um sistema, onde seja possívelcadastrar produtos, o que os produtos possuem de características em comum? 
Nome, marca, valor, descrição, quantidade em estoque, entre outras características. A ideia de utilizar 
orientação a objetos em suas aplicações é fantástica, pois facilita a compreensão da estrutura, além seguir um 
padrão muito utilizado pelas linguagens de desenvolvimento. 
 Um ponto importante que devemos citar é que o TypeScript não é o sucessor do JavaScript, mas sim 
um complemento. Você ainda pode desenvolver seus projetos web utilizando 100% de JavaScript, porém o 
TypeScript dispõe funcionalidades que em projetos de média ou grande porte podem fazer diferença. 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 03 - Exercícios - Conceitos do TypeScript 5 
Capítulo 03 - Exercícios - Conceitos do TypeScript 
 
 Para praticarmos um pouco sobre o TypeScript iremos responder algumas perguntas, fique à vontade 
em realizar pesquisas externas para complementar seus conhecimentos sobre a tecnologia. 
 
1. O TypeScript é o sucessor do JavaScript? Especifique sua resposta. 
 
2. Quais as vantagens em utilizar orientação a objetos no TypeScript? 
 
3. Qual empresa criou e mantêm o TypeScript? 
 
4. Por qual motivo devemos utilizar o TypeScript? 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
6 Capítulo 04 - Configurando ambiente 
Capítulo 04 - Configurando ambiente 
 Para desenvolvermos nossas aplicações utilizando o Angular precisamos ter instalado o NodeJS, para 
isso acesse o link http://www.nodejs.org e baixe a versão recomendada. 
 
 
 
 
 O NodeJS é um interpretador de código aberto baseado em JavaScript. Com ele é possível criar 
aplicações que não precisam de um navegador para ser executado. O NodeJS quando baixado também irá 
servir para emular um servidor para testarmos nossas aplicações em Angular. 
Além disso podemos baixar o Angular e algumas dependências extras via NPM, que é atualmente o 
maior repositório de arquivos do mundo, sendo assim não há mais necessidade em utilizar arquivos externos 
ou baixar, descompactar e fazer a referência. 
Para elaborarmos nossos exemplos de TypeScript, vamos utilizar o Visual Studio Code, porém se quiser 
utilizar outro editor fique à vontade. 
 
http://www.nodejs.org/
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 04 - Configurando ambiente 7 
 
 
 Crie uma pasta chamada TypeScript e selecione essa pasta no Visual Studio Code ou o editor de sua 
preferência. 
 
 
 
 Agora precisamos baixar um complemento para exportar nosso arquivo de extensão .ts para .js, para 
isso digite o seguinte comando: 
 
 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
8 Capítulo 04 - Configurando ambiente 
 Neste momento temos nosso ambiente pronto para iniciarmos nossas aplicações utilizando o 
TypeScript. Para mais informações sobre esse complemento baixado, você pode acessar o site 
https://www.npmjs.com/package/typescript, toda a documentação necessária para compreender suas 
funcionalidades estarão explícitas neste site. 
 
 
https://www.npmjs.com/package/typescript
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 05 - Testando aplicação 9 
Capítulo 05 - Testando aplicação 
 
 Para realizar um teste com nossa aplicação, basta criar uma página HTML simples, neste exemplo 
vamos dar o nome de index.html: 
 
 
 
 Vamos criar nosso arquivo .ts chamado helloWorld.ts 
 
 
 
 Agora vamos compilar esse arquivo para o formato JavaScript, para isso abra o terminal do Visual 
Studio code e digite comando tsc helloWorld.ts e veja que será criado um novo arquivo: 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
10 Capítulo 05 - Testando aplicação 
 
 
 
 Se você abrir o arquivo com a extensão .js gerada, note que o código será o mesmo do TypeScript 
criado, mas com a complexidade de sua estrutura, esses códigos serão alterados. 
 
 
 
 Vamos implementar nosso arquivo html, referenciando o arquivo helloWorld.js gerado e criando um 
botão com um evento de clique, referenciando a função mensagem criada: 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 05 - Testando aplicação 11 
 
 
 Abra em seu navegador, em seguida clique no botão e veja se uma mensagem é exibida: 
 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
12 Capítulo 06 - Classe 
Capítulo 06 - Classe 
 
 Nesse capítulo iremos trabalhar com ênfase na orientação a objetos, iniciando com o conceito de 
classe. 
Mas o que é uma classe? 
 Vamos fazer o seguinte, pense em um carro, qualquer carro. A pergunta a ser feita é, todos os carros 
são iguais? A resposta é não! Mesmo os carros possuindo características em comum como cor, ano, modelo, 
entre outros, são todos diferentes. 
 Outro exemplo é pensarmos em um bolo, todos os bolos são iguais? Não, mas todos os bolos possuem 
características como tamanho, camadas, cobertura, sabor, entre outras características. 
 Uma classe é um molde, e esse molde serve única e exclusivamente para criar elementos, que 
chamamos de objetos, mas essa parte veremos adiante. 
 Para compreender melhor esse conceito, crie um arquivo chamado Carro.ts. Note que iniciamos com a 
primeira letra em maiúscula, pois é o padrão que os desenvolvedores trabalham com orientação a objeto. 
Toda a classe inicia com letra maiúscula: 
 
 
 
 Vamos deixar esse arquivo com a seguinte estrutura: 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 06 - Classe 13 
 
 
 Agora temos nossa estrutura inicial, os próximos capítulos irão deixar esse conceito de classe mais 
fácil. Note que temos a palavra reservada class, em seguida de seu nome iniciando com letra maiúscula. 
 
A
n
o
ta
çõ
es
 
 
 
 
 
14 Capítulo 07 - Atributo 
Capítulo 07 - Atributo 
 
 Sabemos que a classe serve como molde, porém todo molde possui características, sendo assim 
utilizaremos os atributos para especificar essas características que a classe possui. Seguindo com nosso 
exemplo de Carro, podemos implementar os seguintes atributos: 
● Fabricante 
● Modelo 
● Cor 
● Ano 
● Teto Solar 
 
 Antes de implementarmos, é necessário saber que diferente do JavaScript convencional, o TypeScript 
trabalha com tipagem de dados, sendo assim será necessário informar que tipo é aquele atributo, no 
TypeScript possuímos os seguintes tipos: 
● Number 
● String 
● Boolean 
● Object 
 
 Voltando ao nosso exemplo, vamos especificar os cinco atributos especificados e informar seus tipos: 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 07 - Atributo 15 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
16 Capítulo 08 - Método 
Capítulo 08 - Método 
 
Em TypeScript, os métodos têm como finalidade executar determinada função, vamos criar uma 
função para exibir os dados de um carro, importante mencionar que as funções podem ter retorno ou não 
retornar. 
Os tipos de retorno são os mesmos dos atributos, e caso não queira retornar nada pode utilizar o 
comando void, quando dizemos que não haverá retorno, estamos dizendo que uma variável, por exemplo, não 
terá acesso ao que foi informado. Implemente o seguinte exemplo: 
 
 
 Abaixo dos atributos criamos esse método. Note que temos uma variável que concatena os valores de 
cada atributo. Utilizamos o comando this, para referenciar atributos da classe. 
 Antes de continuarmos é necessário que você compile esse arquivo para JavaScript, para isso digite o 
comando tsc Carro.ts: 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 08 - Método 17 
 Veja que agora você vai ter um arquivo em formato JavaScript com a seguinte estrutura: 
 
 
 
 Essa é a estrutura que o navegador irá compreender. No próximo capítulo vamos criar nossos objetos, 
que terão acesso aos atributos e métodos de nossas classes. 
 
A
n
o
ta
çõ
es
 
 
 
 
 
18 Capítulo 09 - Objeto 
Capítulo 09 - Objeto 
 
 O objeto é o resultado obtido através da classe. Vamos importar o arquivo Carro.js e instanciar um 
objeto da classe Carro. O termo instânciar significa criar alguma coisa, no caso vamos criar um objeto tendo 
como basea classe Carro: 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 09 - Objeto 19 
 Notem que removemos o exemplo helloWorld realizado anteriormente, agora vamos abrir esse 
arquivo no navegador e visualizar o resultado: 
 
 
 
 Veja que os dados que passamos na instância, são os atributos da classe Carro, e quando executado o 
método exibirDados(), as informações do objeto são exibidas. 
Vale lembrar que você pode criar quantos objetos quiser e utilizar as características que você achar 
relevantes. 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
20 Capítulo 10 - Exercícios - Classes, atributos, métodos e objetos 
Capítulo 10 - Exercícios - Classes, atributos, métodos e objetos 
 
1. Instancie mais um objeto da classe Carro e chame o método exibirDados(). 
 
2. Crie uma classe chamada pessoa com os seguintes atributos: 
○ Nome 
○ Idade 
○ Cidade 
 
Crie um método chamado exibirDados(), onde serão exibidos os atributos da classe (nome, idade e cidade). 
Crie também um método chamado verificarIdade(), se a idade for menor de 18 exiba a mensagem menor de 
idade, caso contrário maior de idade. 
Instancie um objeto da página index.html e chame os dois métodos. 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 11 - Construtor 21 
Capítulo 11 - Construtor 
 
 O Construtor é um método executado automaticamente ao instanciar um objeto. Vamos implementar 
o exemplo anterior da classe Carro, adicionando seu construtor: 
 
 
 
 
Adicionado acima do método exibirDados(), vamos compilar esse arquivo e exibir essa mensagem de 
testes, em seguida a mensagem do exibirDados(), lembrando que como o construtor é executado 
automaticamente, não precisamos alterar nada no arquivo html. 
 
 
 
 
 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
22 Capítulo 11 - Construtor 
 
 
Em seguida será executado o método exibirDados(), de maneira bem simples podemos utilizar o 
construtor em nossas aplicações. 
 
 
 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 12 - Encapsulamento 23 
Capítulo 12 - Encapsulamento 
 
 O encapsulamento é uma técnica para deixar visíveis ou ocultos atributos e métodos disponíveis nas 
classes, há quatro tipos de encapsulamento: 
 
● Default: Quando não define o tipo de encapsulamento. 
● Public: Qualquer um pode acessar os atributos e métodos daquela classe. 
● Private: Apenas própria classe têm acesso aos atributos e métodos. 
● Protected: Apenas a própria classe ou a classe herdada possui acesso aos atributos e métodos. 
 
 Abaixo segue um exemplo de como podemos implementar. Criamos uma classe chamada Pessoa, seu 
construtor possui dois parâmetros, quando instanciado um objeto da classe Pessoa, os atributos possuirão os 
valores enviados através dos parâmetros e em seguida exibido o método privado exibirDados(): 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
24 Capítulo 13 - Herança 
Capítulo 13 - Herança 
 
 A herança têm como objetivo separar suas classes. Imagine que temos um arquivo contendo duas 
classes, utilizaremos essa estrutura apenas para fins didáticos, mas você pode criar dois arquivos distintos se 
preferir: 
 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 13 - Herança 25 
 
Veja a estrutura, criamos dentro de um arquivo Classe.ts três classes, sendo elas: Veículo, Carro e 
Moto. A classe veículo dispõe as características que ambos terão, já a classe carro possui características 
apenas de carro, e moto apenas características para moto. 
A grande ideia de você utilizar a herança é reutilizar atributos e métodos, como por exemplo os 
atributos que estão na classe veículo. 
 Vale lembrar que o tipo protected, apenas a classe que cria atributos e métodos conseguem visualizar, 
além daquelas que estendem, no caso de carro e moto. 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
26 Capítulo 14 - Exercícios - Herança 
Capítulo 14 - Exercícios - Herança 
 
 Com os conceitos de herança, elabore as atividades a seguir: 
 
 
1. Criar uma classe chamada Conta com os seguintes atributos: agência e conta corrente, crie outras 
duas classes, que irão estender a classe Conta, uma delas vai se chamar PessoaFisica e outra 
PessoaJuridica. 
 
A classe PessoaJuridica terá os seguintes atributos: Nome da Empresa, CNPJ, já a classe PessoaFisica 
terá os seguintes atributos: Nome do Cliente e CPF. 
 
As duas classes precisarão ter um método para exibir os seus dados respectivos. 
 
 
2. Criar uma classe chamada Colaborador, contendo os atributos: cargo e salário, crie outra classe 
chamada Pessoa, onde haverá os atributos: nome, idade e cidade. 
 
Instancie dois objetos e crie um método para exibir os dados de Colaborador e Pessoa. 
 
 
 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 15 - Método Super 27 
Capítulo 15 - Método Super 
 
 O método super serve para executar o construtor da classe pai de maneira automática. Vamos utilizar 
como exemplo o nosso projeto anterior envolvendo as classes veículo, carro e moto. 
Imagine que toda vez que executarmos o construtor na classe de carro e moto, o construtor da classe 
veiculo precisa ser executado instantaneamente, para isso podemos utilizar a palavra reservada super(). 
 Ficou confuso? Fica tranquilo, observe o exemplo abaixo e compreenda sua estrutura: 
 
 Note que a classe carro está estendendo, sendo assim terá acesso aos atributos e métodos da classe 
veículo. Na linha 25 note que temos a palavra reservada super(), que significa que antes de executar o alert do 
construtor da classe carro, será executado o construtor da classe pai, no caso a classe veículo. 
 
A
n
o
ta
çõ
es
 
 
 
 
 
28 Capítulo 16 - Polimorfismo 
Capítulo 16 - Polimorfismo 
 
 Polimorfismo é uma técnica onde duas classes possuam métodos de mesmo nome, onde um método 
sobrepõe o outro, isso facilita na reutilização desse método, podendo ter uma ação quando instanciada uma 
classe ou sobreposto se instanciar outra. 
 Vamos ao exemplo prático para compreender melhor sua reutilização: 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 17 - Classe Abstrata 29 
Capítulo 17 - Classe Abstrata 
 
Classes abstratas servem para criar padrões obrigatórios e atributos e métodos. Interessante utilizar 
esse conceito em projetos de média ou grande porte para uma melhor organização. Uma classe abstrata não 
pode ser instanciada, apenas herdada, vamos implementar um exemplo para compreender melhor sua 
estrutura: 
 
 
 
A
n
o
ta
çõ
es
 
 
 
 
 
30 Capítulo 18 - Interface 
Capítulo 18 - Interface 
 
O uso de interfaces é muito útil para padronizarmos nossas classes. Vamos supor que você queira 
obrigar a utilizar determinados atributos específicos, mas como obrigado determinada classe a utilizar aqueles 
atributos? 
Através da interface, porém como estamos trabalhando com interface, precisamos herdar essas 
características, para isso utilize a palavra implements para adicionar a interface à sua classe. 
 Outra informação importante é que uma interface não pode ser instanciada, ela serve de molde para a 
padronização de suas classes, e apenas isso. 
 Vamos elaborar um exemplo de interface para usuário, contendo apenas dois atributos. É importante 
lembrar que além de atributos, a interface pode possuir métodos obrigatórios: 
 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 18 - Interface 31 
 
 Se formos analisar as classes abstratas ou interfaces, você pode achar que não há diferença, porém 
quando trabalhamos com interface, podemos implementar várias, diferentes de uma classe abstrata, onde 
você pode apenas estender uma por classe, outra característica marcante da interface, é que você apenas 
pode criar métodos obrigatórios e não métodos de reutilização, como uma classe abstrata. 
 
A
n
o
ta
çõ
es
 
 
 
 
 
32 Capítulo 19 - Exercício - Final 
Capítulo 19 - Exercício - Final 
 
 Nosso último exercício terá a seguinte estrutura. Criar uma interface com os atributos: nome, idade, 
cidade, e-mail etelefone, essa interface pode se chamar Padrao. 
Crie outras duas classes, uma chamada Professor e outra chamada Aluno, o professor terá o atributo 
matéria e a classe aluno terá os atributos: nota1 e nota2. 
Agora implemente na classe Padrao um método chamado listar, onde serão exibidos os dados de 
Aluno e Professor. 
Crie uma página HTML e instancie dois objetos, um da classe Professor e outro da classe Aluno, 
executo o método de listar de cada um deles. 
 
 
 A
n
o
taçõ
es 
 
 
 
 
Capítulo 20 - Considerações Finais 33 
Capítulo 20 - Considerações Finais 
 
 Agora que temos uma noção sobre o TypeScript, você pode agilizar a estrutura de desenvolvimento de 
suas aplicações e se beneficiar de tecnologias como Angular, React, VueJS, entre outros, para enriquecer ainda 
mais seus projetos. 
 Lembre-se que o TypeScript não é o sucessor do JavaScript, mas sim um superset de funcionalidades e 
com suporte a orientação a objetos, agregando muito aos nossos projetos. 
 Uma dica interessante para treinar e aprender é utilizar o TypeScript Playground, disponível no site 
https://www.typescriptlang.org/play/index.html, acesse e faça testes utilizando essa poderosa linguagem. 
 
 
https://www.typescriptlang.org/play/index.html

Mais conteúdos dessa disciplina