Classes no Javascript

Javascript
Tempo de leitura: 3 minutos

Classes no Javascript: As classes em JavaScript, introduzidas no ECMAScript 6, representam um avanço significativo na forma como modelamos objetos. Elas oferecem uma sintaxe mais clara e estruturada para criar objetos, promovendo a organização e reutilização de código.

Neste artigo, vamos explorar em profundidade o conceito de classes em JavaScript, desde sua sintaxe básica até os recursos mais avançados.

O que são Classes em JavaScript?

Uma classe é uma representação de um objeto do do mundo real para criar objetos. Ela define as propriedades e métodos que os objetos criados a partir dela irão possuir. Em outras palavras, uma classe serve como um molde para a criação de múltiplos objetos com características semelhantes.

Sintaxe Básica

A sintaxe para definir uma classe em JavaScript é bastante intuitiva:

JavaScript

class Carro {
  constructor(marca, modelo) {
    this.marca = marca;
    this.modelo = modelo;
  }

  ligar() {
    console.log("O carro está ligado.");
  }
}
  • class: Palavra-chave que indica o início da definição da classe.
  • Carro: Nome da classe.
  • constructor: Método especial responsável por inicializar os objetos da classe.
  • this: Referência ao objeto que está sendo criado.

Criando Objetos a partir de Classes

Para criar um objeto a partir de uma classe, utilizamos a palavra-chave new:

JavaScript

const meuCarro = new Carro("Ford", "Ka");

Herança

A herança é um mecanismo que permite criar novas classes a partir de classes existentes, herdando suas propriedades e métodos.

JavaScript

class Veiculo {
  constructor(marca) {
    this.marca = marca;
  }

  ligar() {
    console.log("O veículo está ligado.");
  }
}

class Carro extends Veiculo {
  constructor(marca, modelo) {
    super(marca); // Chama o construtor da classe pai
    this.modelo = modelo;
  }
}

Métodos

Os métodos são funções definidas dentro de uma classe. Eles definem o comportamento dos objetos criados a partir da classe.

JavaScript

class Pessoa {
  constructor(nome, idade) {
    this.nome = nome;
    this.idade = idade;
  }

  apresentar() {
    console.log(`Olá, meu nome é ${this.nome} e tenho ${this.idade});
  }
}

Propriedades

As propriedades são as características de um objeto, definidas dentro do construtor ou diretamente na classe.

JavaScript

class Livro {
  constructor(titulo, autor) {
    this.titulo = titulo;
    this.autor = autor;
    this.paginas = 200; // Propriedade com valor padrão
  }
}

Getters e Setters

Getters e setters permitem controlar o acesso às propriedades de um objeto, permitindo a realização de validações ou cálculos antes de atribuir ou retornar um valor.

JavaScript

class Pessoa {
  constructor(nome) {
    this.nomeCompleto = nome;
  }

  get nome() {
    return this.nomeCompleto.split(' ')[0];
  }

  set nome(novoNome) {
    this.nomeCompleto = novoNome;
  }
}

Classes Abstratas e Interfaces

Embora o JavaScript não tenha classes abstratas e interfaces no mesmo sentido que outras linguagens, podemos simular esses conceitos utilizando padrões de projeto e convenções.

Vantagens das Classes

  • Organização: Facilitam a organização do código em estruturas bem definidas.
  • Reutilização: Permitem a criação de hierarquias de classes e a reutilização de código.
  • Encapsulamento: Escondem a implementação interna dos objetos, expondo apenas a interface pública.
  • Leiturabilidade: A sintaxe das classes é mais intuitiva e fácil de entender.

Conclusão

Classes no Javascript: As classes em JavaScript são uma ferramenta poderosa para modelar objetos e organizar o código. Ao entender os conceitos de classes, herança, métodos, propriedades e outros recursos, você poderá criar aplicações mais robustas, escaláveis e fáceis de manter.

Toda jornada tem um início, e o início para se tornar um desenvolvedor web é dominar as seguintes tecnologias, que você encontra aqui mesmo:

HTML
HTML
CSS
CSS
Javascript
JavaScript

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi