Escolar Documentos
Profissional Documentos
Cultura Documentos
Termo de uso
Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-
SemDerivados CC BY-NC-ND. Você possui a permissão para realizar o download e compartilhar, desde que atribua os créditos do
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
https://creativecommons.org/licenses/by-nc-nd/4.0/
Apresentação
Nesta aula, você vai estudar mais detalhadamente um dos principais conceitos da
Programação Orientada a Objetos – a Classe. Vai aprender também como se
representa esse conceito na linguagem TypeScript, além de criar características e
comportamentos para uma classe através dos atributos e métodos.
Objetivos
Entender a teoria sobre Classe;
Entender em detalhes uma classe codificada usando a linguagem TypeScript;
Criar atributos e métodos em classes Java.
Classe
Link do video da aula: https://youtu.be/S3YIMpoKqwM
Resumindo:
Perceba que não inserimos no código nada sobre o comportamento dos carros,
como andar para frente ou para trás, virar à esquerda/direita, frear etc. Veremos
isso um pouco mais à frente.
Declaração de Atributos
Na declaração dos atributos, devemos informar, além do nome, o tipo de dado que
ele deverá armazenar, como pode ser visto na figura acima.
Devem começar com uma letra ou com _ (note que NÃO podemos começar
com um número);
Podem conter letras, dígitos, _ e $ (note que NÃO podemos usar nem hífen
nem ponto);
O nome também não deve ser igual ao de um comando, uma classe, um
método, uma função ou de uma palavra reservada da linguagem, tais como:
class, number, while;
Espaços não são permitidos em nomes de variáveis;
Nomes de variáveis são sensíveis a letras minúsculas e maiúsculas. Em outras
palavras, dois atributos com nomes "placa" e "Placa", por exemplo, são
considerados dois atributos diferentes, chamamos isso de case sensitive;
Além disso, podemos utilizar um padrão chamado de Camel Case, que é a
prática de utilizar palavras compostas alternando as iniciais das palavras com
letra maiúscula ou minúscula.
Tipos de Dados
A respeito dos tipos de dados, vamos utilizar:
6. void: não é bem um tipo de dado, mas sim uma declaração de sua ausência,
utilizado na declaração de funções que não retornam um valor.
Adicionando Comportamentos
Os objetos das classes precisam não só de suas características, mas também de
comportamentos que expressem as ações possíveis de serem executadas, por
exemplo, um carro precisa oferecer funções para que as pessoas os manobrem.
Perceba que falamos das capacidades dinâmicas do objeto que serão executadas
através dos métodos.
Veja que na imagem acima adicionamos a palavra this antes do atributo cor. Essa
palavra-chave representa a instância da classe Carro e, particularmente neste caso,
está sendo usada para corrigir o problema de ambiguidade gerado pela definição de
um parâmetro com o mesmo nome do atributo da classe no método setCor(String
cor). Ao se usar a palavra cor dentro desse método, como saberíamos se estamos
referenciando o atributo da classe ou o parâmetro do método? Para solucionar esse
problema, usa-se a palavra reservada this antes do nome cor, informando que
estamos referenciando o atributo da classe e não o parâmetro do método.
Definição de Métodos
A definição dos métodos tem cinco partes básicas:
Criando Objetos
O comando new Carro() cria uma instância da classe Carro, que também podemos
chamar de um objeto da classe Carro. Chamamos o método setCor para alterar a
cor do carro e o método getCor para recuperar/acessar o valor do atributo cor.
Nas linhas 17 e 18, atribuímos um valor à cor do carro e acessamos esse valor
como se fosse um atributo da classe, mas na verdade chamamos um método.
Ferramentas
Incialmente iremos instalar no computador o TypeScript que é a linguagem que
iremos utilizar e o Visual Code (VS Code), que é a IDE que iremos utilizar para
desenvolver, digitar os códigos em TypeScript e executá-los.
Ambiente de Instalação
1. Sistema Operacional Ubuntu Linux 16.04 LTS
Instalando o nodejs
1. Acessando o site do nodejs (https://nodejs.org/en/);
2. Clica em Other Downloads (https://nodejs.org/en/download/);
3. Clica em Installing Node.js via package manager
(https://nodejs.org/en/download/package-manager/);
4. Clica na opção da distribuição Linux que está sendo utilizada (Debian and
Ubuntu based Linux distributions);
5. Clica no link Node.js binary distributions
(https://github.com/nodesource/distributions/blob/master/README.md);
6. Clica na opção Installation instructions
(https://github.com/nodesource/distributions/blob/master/README.md#debinst
all);
7. Escolhe a versão do node que deseja utilizar e digita os seguintes comandos
no terminal do computador:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
8. Para verificar a versão do node que foi instalada, digita o seguinte comando:
node -v
npm -v
Instalando o TypeScript
1. Abre o terminal do linux e digita o seguinte comando
tsc -v
Ambiente de Instalação
1. Microsoft Windows 7
Instalando o nodejs
6. Para verificar a versão do node que foi instalada, abre o prompt de comando e
digita o seguinte comando:
node -v
npm -v
Instalando o TypeScript
1. Abre o prompt de comando do windows e digita o seguinte comando:
tsc -v
Instalação no MacOS
Link do video da aula: https://youtu.be/2zPG5OI9QJ0
Ambiente de Instalação
1. Sistema Operacional macOS Mojave (v. 10.14.6)
Instalando o nodejs
1. Acessando o site do nodejs (https://nodejs.org/en/);
2. Clica na versão LTS e faz download do arquivo;
3. Após o download abre a pasta onde salvou o arquivo e executa;
James Peter Gomes Da Silva Barbosa IMD/UFRN Página 10
Programação Orientada a Objetos Aula 2 - Classes, Atributos e Métodos
node -v
npm -v
Instalando o TypeScript
1. Abre o terminal do macOS e digita o seguinte comando
tsc -v
Configurando o VSCODE
Link do video da aula: https://youtu.be/jT4-7C99870
Configuração
Você verá agora como configurar a IDE Visual Code e executar arquivos TypeScript
utilizando o terminal integrado na IDE. Para melhor organização dos arquivos
durante as nossas aulas, é importante que você crie uma pasta para cada aula.
Para abrir a pasta no Visual Code, clique em file, depois em open, procure a pasta
que você criou e clice em abrir.
Para habilitar o terminal integrado na IDE, clica no menu Terminal e depois em New
Terminal
Transpilando e executando
tsc exemplo.ts
Esse comando vai fazer o processo de transpiler, que criará um arquivo Javascript
(.js).
node exemplo
Salvar Automático
1. Menu Code
2. Preferences
3. Settings
4. TextEditor
5. Files
6. AutoSave e seleciona a opçãp AfterDelay
tsc - w
ou
tsc --watch
Visualizando no Console do
Navegador
Link do video da aula: https://youtu.be/TfcB0_9EScs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>TypeScript</title>
</head>
<body>
<script src="app/exemplo.js"></script>
</body>
</html>
Download do projeto
Classe
Link do video da aula: https://youtu.be/DfHubTMju1k
Prática
Neste exemplo você vai colocar em prática os conceitos vistos nesta aula. É
importante revisar os conceitos a respeito do transpiler utilizando o tsc -w. Para
executar o projeto, utilizamos o seguinte comando: tsc --target es5 classe.ts,
isso só é necessário pois não temos o arquivon tsconfig.json configurado
corretamente. Para não ser necessário utilizar --target e que o comando tsc -w
funcione corretamente, você pode adicionar o arquivo tsconfig.jsoncom a
seguinte configuração:
{
"compilerOptions": {
"target": "es5"
}
}
Classe Carro
class Carro{
modelo: string;
_cor: string;
placa: string;
numPortas: number;
c.cor = "Vermelho"
console.log(c.cor);
Download do arquivo
Atividade 01
Crie uma classe Moto com atributos e métodos, utilize com base a classe carro.
Execute seu projeto visualizado no navegador utilizando o live-server.
Resumo
Olá! Nesta aula, você aprendeu mais detalhes sobre o conceito de classe e como
implementá-lo utilizando o TypeScript, implementou os conceitos de métodos de
acesso e aprendeu como criar instância de um objeto.
1. TypeScript
2. nodejs