O que são Classes e Como Elas Funcionam em JavaScript?
No JavaScript moderno, classes são como modelos que você pode definir no código para criar múltiplos objetos do mesmo tipo.
Por exemplo, se você estiver modelando um sistema de inventário, precisará criar múltiplos objetos por tipo de produto.
Cada produto individual terá suas próprias propriedades e ações mas produtos do mesmo tipo podem ser criados a partir da mesma "blueprint". É para isso que as classes são usadas.
Classes podem ser definidas como uma expressão de classe ou declaração de classe.
Aqui está a sintaxe básica para uma declaração de classe:
class MyClassName {
// Class Methods
constructor() { ... }
method1() { ... }
method2() { ... }
...
}
Você começa escrevendo a palavra-chave class seguida do nome da classe. Ao nomear classes, você deve usar a convenção de nomenclatura PascalCase em vez de camelCase.
O conteúdo dentro das chaves é conhecido como o corpo da classe. Aqui é onde o construtor e os métodos irão.
O construtor é um método especial que é chamado automaticamente quando um novo objeto é criado a partir da classe. Normalmente é usado para inicializar as propriedades do objeto.
Neste exemplo, você pode ver uma classe Dog com um construtor.
class Dog {
constructor(name) {
this.name = name;
}
}
A palavra-chave this é usada aqui para se referir à instância atual da classe Dog, permitindo que você atribua a propriedade name ao objeto que está sendo criado. Você aprenderá mais sobre a palavra-chave this em uma lição futura.
Abaixo do construtor, você pode ter o que são chamados de métodos. Métodos são funções definidas dentro de uma classe que executam ações ou operações. Eles são usados para definir comportamentos que instâncias da classe podem executar.
Aqui está um exemplo de como adicionar um método chamado bark à classe Dog.
class Dog {
constructor(name) {
this.name = name;
}
bark() {
console.log(${this.name} says woof!);
}
}
Quando o método bark for chamado a mensagem será registrada no console com o nome real que foi passado para ele. Se você criar uma instância Dog com o nome "Buddy", chamar o método bark() nessa instância imprimirá "Buddy says woof!" no console.
Depois de definir sua classe, você pode criar uma instância da classe com a palavra-chave new, o nome da classe e seus argumentos.
Neste exemplo, criamos uma nova instância Dog com o nome Gino e então a atribuimos à variável dog.
const dog = new Dog("Gino");
Quando você escreve new Dog("Gino") no seu código, o novo objeto é criado e o construtor é chamado automaticamente com os argumentos fornecidos.
Você pode então acessar essa propriedade usando a notação de ponto, como você pode ver na seguinte linha de código:
console.log(dog.name);
Aqui está o exemplo completo:
class Dog {
constructor(name) {
this.name = name;
}
bark() {
console.log(${this.name} says woof!);
}
}
const dog = new Dog("Gino");
console.log(dog.name);
Você também pode chamar métodos. Neste exemplo, estamos chamando o método bark() na instância dog.
dog.bark();
Aqui está o exemplo completo com a chamada do método incluída:
class Dog {
constructor(name) {
this.name = name;
}
bark() {
console.log(${this.name} says woof!);
}
}
const dog = new Dog("Gino");
console.log(dog.name);
dog.bark();
Como mencionado anteriormente, você também pode definir classes como uma expressão de classe. Aqui é onde a classe é anônima e atribuída a uma variável.
Aqui está como o exemplo anterior fica como uma expressão de classe:
const Dog = class {
constructor(name) {
this.name = name;
}
bark() {
console.log(${this.name} says woof!);
}
};
Na maioria das vezes, você usará declarações de classe, mas entender expressões de classe também é valioso, pois elas podem oferecer mais flexibilidade, especialmente em situações de programação dinâmica.
Ao usar classes e entender sua sintaxe básica, você pode criar código reutilizável, organizá-lo em unidades lógicas e promover a modularidade do código.Este módulo não possui perguntas. Marque como concluído.