Menu
Coddy logo textTech

Propriedades e Métodos

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 13 de 56.

Classes em JavaScript nos permitem definir propriedades e métodos que serão compartilhados por todas as instâncias da classe.

Crie uma classe com propriedades:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
}

Ao criar uma instância, o construtor define estas propriedades:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make);  // Saída: 'Toyota'
console.log(myCar.model); // Saída: 'Corolla'

Adicione um método à classe:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
  
  getDescription() {
    return `This car is a ${this.make} ${this.model}.`;
  }
}

Agora podemos chamar este método em qualquer instância:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Saída: 'This car is a Toyota Corolla.'
challenge icon

Desafio

Crie uma classe chamada Book no arquivo book.js com o seguinte:

  1. Um construtor que recebe os parâmetros title, author e pages e os define como propriedades.
  2. Um método chamado getInfo que retorna uma string no formato: “Title: [title], Author: [author], Pages: [pages]”
  3. Exporte a classe adicionando `export` na frente da declaração `class`

Folha de consulta

Classes em JavaScript definem propriedades e métodos compartilhados por todas as instâncias.

Crie uma classe com um construtor:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
}

Crie uma instância usando new:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make);  // Saída: 'Toyota'

Adicione métodos a uma classe:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
  
  getDescription() {
    return `This car is a ${this.make} ${this.model}.`;
  }
}

Chame métodos em instâncias:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Saída: 'This car is a Toyota Corolla.'

Exporte uma classe:

export class Car {
  // definição da classe
}

Experimente você mesmo

import { Book } from './book.js';

// Teste (não modifique esta parte)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos