Um momento
Aula 27
Cursos / Aprenda TypeScript - Tutorial Básico Vindo do JavaScript
Definição de Propriedades da Classe como public ou private

Summary

Aprendizado de TypeScript: Métodos, Acesso e Visibilidade

Nesta aula, estamos aprendendo a adicionar métodos a uma classe em TypeScript. Vamos focar em um método chamado cumprimentar, que imprime uma mensagem no console.

Passos para Adicionar um Método

  1. Criando o Método:

    • Adicionamos o método cumprimentar após o construtor da classe.
    • Usamos console.log com interpolação de strings para criar a mensagem: Oi, meu nome é ${this.nome}.
  2. Definindo Retorno do Método:

    • Especificamos que o método não retorna valor, usando void.
  3. Controles de Acesso:

    • Tipos de acesso de métodos:
      • Public: Método pode ser acessado de fora da classe. É o padrão.
      • Private: Método só pode ser acessado dentro da própria classe. Se tentarmos chamá-lo de fora, um erro será gerado.
  4. Propriedades:

    • Podemos também definir o acesso às propriedades da classe (como nome):
      • Ao tornar nome como private, prevenimos acessos ou modificações de fora da classe.
  5. Convenções:

    • Normalmente, usamos private para atributos de uma classe para evitar modificações diretas.

Exemplo de Código

Ao transpilar para JavaScript, as palavras-chave private e public não aparecem, pois são específicas do TypeScript para verificação de tipos em tempo de compilação.

class Indivíduo {
    private nome: string;

    constructor(nome: string) {
        this.nome = nome;
    }

    public cumprimentar(): void {
        console.log(`Oi, meu nome é ${this.nome}`);
    }
}

Resumo

  • Usamos public e private para controlar a visibilidade de métodos e propriedades.
  • Métodos public podem ser chamados de fora, enquanto private só pode ser acessado internamente.
  • Para proteger atributos, geralmente os declaramos como private e criamos métodos getter e setter quando necessário.

Essa foi a nossa aula sobre métodos e controle de acesso em TypeScript! Até a próxima!

Video Transcript

Vamos continuar a nossa aprendizado de TypeScript. Vamos aprender como adicionar um método a nossa classe indivíduo. Vamos chamar esse método de cumprimentar, que vai dar um console log, ou em meu nome é qualquer coisa. Então vamos ver aqui. Então eu quero fazer o seguinte, eu quero falar, Maria, conto com cumprimentar. Eu acho que já tem problema, não existe propriedade que cumprimentar no tipo indivíduo. Vamos criar esse método. Então aqui depois o constructor, se fosse JavaScript, a gente fazia o seguinte, falava o nome do método, abre os parentes e abre o corpo aqui com as chaves. O console log, com a mensagem, vou usar em interpolação de string com back tick lá, na centra grave, sei lá como é que fala. Oi, meu nome, é, eu posso passar, o que é o nome? O nome está dentro da instância desse ponto, nome. Pronto, agora esse é o no TypeScript normal. Como é que, quais os detalhes que a gente pode adicionar do TypeScript? Primeiro de tudo a gente pode adicionar se essa função aqui vai retornar alguma coisa ou não. Que pode ser aqui depois dos parentes, não retornou nada, então pode dizer que é void, porque não retorna nada, faz umas linhas aqui, nem a 9, mas não retorna nenhum valor específico. Agora, não tem nenhum argumento nessa função. Agora, normalmente outras linguagens têm aquele o acesso do método, é público, é privado, proteger essas coisas. Então, nesse caso aqui nós podemos dizer que vai ser public. Então, esse é o método público, significa que eu posso chamar de fora lá, da, estou aqui chamando aqui de fora da classe, da instância. Agora, tem também private, né, private aqui. Se for private, eu só posso chamar de comprimentar de dentro dos métodos do indivíduo. Como eu estou chamando de comprimentar de fora, ele vai reclamar, propriedade de comprimentar é privado, só pode ser acessível, só tem acesso de dentro da classe indivíduo, tá? Então, é um detalhe, adicionar pelo TypeScript, você pode acionar public ou private. Public significa, vai ser o padrão, né, nesse caso do método, que esse método pode ser chamado lá de fora da classe, linha 14. Se for private, método privado, significa que o método só pode ser chamado de dentro da própria classe, dos métodos da classe aqui, mas não pode ser referenciado de fora da classe, como nesse caso da linha 14, vai dar problema. Tá? Então, essa é a diferença de public, public e privado, public e private. Então, esse é o detalhe, a gente pode adicionar do TypeScript, você pode definir o tipo de acesso do método. Também da propriedade, você quiser, por exemplo, se eu disser, des.nome ou de super, maria.nome. Maria.nome é de, bom, eu mudei o nome da Maria diretamente, ou não. Como é que vai para não permitir isso no TypeScript? Vai aqui na linha 2, se eu disser private, se eu adicionar private para propriedade de nome, significa que o nome não pode ser referenciado de fora da classe, nesse caso aqui, eu estou definindo lá de fora, vai dar problema. Propriedade de nome é privada, somente acessível de dentro da classe indivíduo. Então, normalmente a gente põe private para os atributos de uma classe. Então, a palavra private para poder evitar esse problema aqui de alguém tentar modificar o atributo diretamente. Tá bom? Normalmente você cria o gather e o setter para poder fazer essas coisas. Tá bom? Então, com isso não podemos fazer linha 15, vai errado. Não é permitido. Salvo aqui. Então, eu vou aqui copiar e colar lá de novo no playground para você ver o que é que o código é transpilado. Lá do direito temos o JavaScript. Note que já está usando o S6 para cima e não tem aquela S5. Então, já tem a classe do S6. Note que private não tem nenhum local e não tem nem o atributo que a gente já viu, a declaração. Também não tem o public do complementar. Isso porque essas coisas de private public é só ir para o TypeScript verificar. Ei, você não pode mudar o nome diretamente, não pode referenciar de fora. Ah, tá certo, o complementar pode ser chamado de fora, não tem problema. Tá? Então, essa é o public private que a gente aprendeu. Você pode adicionar lá do lado esquerdo do nome do atributo, né? Ou do método da classe. Só falar private ou public antes de tudo. Public pode ser chamado de fora, private não pode chamar de fora da classe. Então, por 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: