Classes em JavaScript são estruturas que descrevem estados e comportamentos de um determinado objeto. É apenas uma forma diferente de escrever funções em JavaScript; os códigos das classes são convertidos para função.
1. O que são Classes?
Classes são uma forma de encapsular dados e comportamentos (métodos) em um único bloco. Elas servem como um molde para criar objetos, permitindo a criação de múltiplas instâncias que compartilham as mesmas propriedades e métodos.
2. Sintaxe básica das Classes
A sintaxe para definir uma classe é bastante simples. Aqui está a estrutura básica:
class NomeDaClasse {
constructor(param1, param2) {
// Inicialização das propriedades
this.propriedade1 = param1;
this.propriedade2 = param2;
}
metodo1() {
// Código do método
}
}
Exemplo básico de Classe
class Carro {
constructor(marca, modelo, ano) {
this.marca = marca;
this.modelo = modelo;
this.ano = ano;
}
info() {
return `${this.marca} ${this.modelo} - ${this.ano}`;
}
}
const carro1 = new Carro("Toyota", "Corolla", 2020);
const carro2 = new Carro("Honda", "Civic", 2019);
console.log(carro1.info()); // "Toyota Corolla - 2020"
console.log(carro2.info()); // "Honda Civic - 2019"
3. Herança de Classes
Um dos principais recursos das classes é a herança, que permite que uma classe herde propriedades e métodos de outra. Isso promove a reutilização de código e a criação de hierarquias de classes.
Exemplo de Herança
class Veiculo {
constructor(marca, modelo) {
this.marca = marca;
this.modelo = modelo;
}
info() {
return `${this.marca} ${this.modelo}`;
}
}
class Carro extends Veiculo {
constructor(marca, modelo, ano) {
super(marca, modelo); // Chama o construtor da classe pai
this.ano = ano;
}
infoCompleta() {
return `${super.info()} - ${this.ano}`;
}
}
const carro1 = new Carro("Ford", "Mustang", 2021);
console.log(carro1.infoCompleta()); // "Ford Mustang - 2021"
4. Métodos estáticos
As classes também podem ter métodos estáticos, que pertencem à classe em si, e não a instâncias individuais. Eles são definidos usando a palavra-chave static
.
Exemplo de método estático
class Matematica {
static soma(a, b) {
return a + b;
}
}
console.log(Matematica.soma(5, 10)); // 15
5. Getters e Setters
As classes em JavaScript também suportam getters e setters, que permitem acessar e modificar propriedades de forma controlada.
Exemplo de Getters e Setters
class Retangulo {
constructor(largura, altura) {
this.largura = largura;
this.altura = altura;
}
get area() {
return this.largura * this.altura;
}
set dimensao(dimensao) {
[this.largura, this.altura] = dimensao;
}
}
const retangulo = new Retangulo(5, 10);
console.log(retangulo.area); // 50
retangulo.dimensao = [10, 20];
console.log(retangulo.area); // 200
As classes em JavaScript proporcionam uma maneira moderna e estruturada de criar objetos e gerenciar herança.
Com uma sintaxe mais clara e recursos poderosos como herança, métodos estáticos e getters/setters, as classes tornam o desenvolvimento em JavaScript mais eficiente e intuitivo.
Experimente usar classes em seus projetos para ver como elas podem simplificar sua lógica e melhorar a organização do código!
Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.
Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários