Conteúdo do curso
Apresentação do curso
0/1
Curso de JavaScript para Iniciantes: Fundamentos e Prática
Sobre a Aula

Criando classes em JavaScript

Seja bem-vindo à segunda aula do módulo 6! Nesta jornada, você se tornará um especialista em criar classes em JavaScript, dominando a arte de definir estruturas e comportamentos de objetos de maneira eficiente e reutilizável.

Prepare-se para explorar os diversos recursos disponíveis para construir classes robustas e flexíveis, expandindo seus conhecimentos em POO.

Dominando a criação de classes:

Imagine um programa que precisa gerenciar informações de diferentes tipos de produtos, como livros, roupas e eletrônicos.

Ao invés de criar código repetitivo para cada tipo de produto, você pode utilizar classes para definir as características e comportamentos específicos de cada tipo, centralizando e organizando seu código.

Definindo classes:

  • Utilize a palavra-chave class para definir o nome da classe e o construtor.
  • O construtor define as propriedades iniciais de um objeto.

Exemplo:

class Produto {
  constructor(nome, preco) {
    this.nome = nome;
    this.preco = preco;
  }

  // Método para calcular o desconto
  calcularDesconto(percentual) {
    return this.preco * (1 - percentual);
  }
}


Criando objetos:

  • Utilize a palavra-chave new para criar um novo objeto a partir de uma classe.

Exemplo:

var livro = new Produto("O Senhor dos Anéis", 50);

console.log("Nome do livro:", livro.nome); // O Senhor dos Anéis
console.log("Preço do livro:", livro.preco); // 50

var desconto = livro.calcularDesconto(0.1);
console.log("Desconto do livro:", desconto); // 5


Modificadores de acesso:

  • Utilize public para tornar propriedades e métodos acessíveis em qualquer lugar.
  • Utilize private para tornar propriedades e métodos acessíveis apenas dentro da classe.
  • Utilize protected para tornar propriedades e métodos acessíveis apenas dentro da classe e em suas classes filhas.

Exemplo:

class Pessoa {
  constructor(nome) {
    this._nome = nome; // Propriedade privada
  }

  getNome() { // Método público que retorna o nome
    return this._nome;
  }

  setNome(nome) { // Método público que define o nome
    this._nome = nome;
  }
}

var pessoa = new Pessoa("João");

console.log("Nome da pessoa:", pessoa.getNome()); // João

// Não é possível acessar a propriedade _nome diretamente
// pessoa._nome = "Maria";

pessoa.setNome("Maria");

console.log("Nome da pessoa após a alteração:", pessoa.getNome()); // Maria


Métodos estáticos:

  • Utilize métodos estáticos para definir funcionalidades que não dependem de um objeto específico.

Exemplo:

JavaScript

class Produto {
  static calcularImposto(valor) {
    return valor * 0.1;
  }
}

var imposto = Produto.calcularImposto(100);
console.log("Imposto:", imposto); // 10


Desafio:

  1. Crie um script JavaScript que define uma classe Pessoa com as propriedades nome e idade.
  2. Crie um método apresentar que exibe o nome e a idade da pessoa.
  3. Crie um método estático gerarId que gera um número aleatório para identificar cada pessoa.
  4. Crie um objeto pessoa da classe Pessoa e utilize os métodos apresentar e gerarId.

Agora que você já aprendeu sobre como criar classes em JavaScript, vamos dar um passo além e explorar os conceitos fundamentais da programação orientada a objetos: encapsulamento, herança, polimorfismo e abstração.

Esses conceitos nos permitem criar estruturas mais complexas e flexíveis em nossos programas, proporcionando organização, reutilização de código e uma melhor compreensão do sistema como um todo.

Prepare-se para mergulhar nesse mundo fascinante da orientação a objetos e descobrir como esses conceitos podem elevar a qualidade e eficiência de seus projetos!

Entrar na conversa
Rolar para cima