Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Definindo Métodos em Classes JavaScript | Dominando Classes e Herança em JavaScript
Domínio Avançado de JavaScript

bookDefinindo Métodos em Classes JavaScript

Agora que sabemos como adicionar propriedades usando o construtor, vamos explorar como adicionar métodos a uma classe.

Definindo e Utilizando Métodos de Classe

Esses métodos normalmente operam sobre as propriedades do objeto e fornecem uma forma de interagir com seus dados.

Para definir um método de classe, basta declarar uma função dentro da classe sem utilizar a palavra-chave function.

class Animal {
  constructor(name, type) {
    this.name = name;
    this.type = type;
  }

  // Class method
  getInfo() {
    return `${this.name} is a ${this.type} animal.`;
  }
}

Neste exemplo, getInfo é um método da classe Animal. Qualquer instância de Animal pode chamar esse método para obter informações sobre aquela instância específica.

Como os Métodos São Associados às Instâncias de uma Classe

Ao criar uma instância de uma classe, os métodos definidos dentro da classe automaticamente ficam disponíveis para essa instância. Esses métodos podem acessar e manipular as propriedades da instância utilizando a palavra-chave this, que se refere ao objeto atual.

Considere os métodos como ferramentas que cada objeto (instância) carrega consigo. Cada objeto possui seus próprios dados (propriedades), mas compartilham as mesmas ferramentas (métodos) para interagir com esses dados.

Vamos considerar o exemplo:

1234567891011121314151617
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
copy

Neste exemplo, tanto lion quanto pig são instâncias da classe Animal. O método getInfo está disponível para ambos e retorna resultados diferentes com base nas propriedades da instância específica em que é chamado. Isso demonstra como os métodos são compartilhados entre as instâncias, mas operam sobre dados específicos de cada uma.

Por que usar métodos de classe?

Métodos de classe definem comportamentos específicos para o objeto. Eles tornam o código mais modular, de fácil manutenção e criam uma separação clara de responsabilidades. Em vez de manipular diretamente as propriedades do objeto, os métodos de classe oferecem uma forma controlada de interagir e modificar os dados do objeto.

Exemplo com um método que altera o estado do objeto:

1234567891011121314151617181920
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
copy

Neste exemplo, o método changeType permite atualizar a propriedade type do objeto. Isso demonstra como métodos podem encapsular lógica que afeta diretamente o estado do objeto.

1. O que é um método de classe?

2. Em uma classe, como definir um método chamado speak que uma instância pode usar?

3. Qual é a saída do seguinte código?

question mark

O que é um método de classe?

Select the correct answer

question mark

Em uma classe, como definir um método chamado speak que uma instância pode usar?

Select the correct answer

question mark

Qual é a saída do seguinte código?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain how to add more methods to a class?

What is the difference between class methods and static methods?

Can you show an example of using multiple methods in a class?

Awesome!

Completion rate improved to 2.22

bookDefinindo Métodos em Classes JavaScript

Deslize para mostrar o menu

Agora que sabemos como adicionar propriedades usando o construtor, vamos explorar como adicionar métodos a uma classe.

Definindo e Utilizando Métodos de Classe

Esses métodos normalmente operam sobre as propriedades do objeto e fornecem uma forma de interagir com seus dados.

Para definir um método de classe, basta declarar uma função dentro da classe sem utilizar a palavra-chave function.

class Animal {
  constructor(name, type) {
    this.name = name;
    this.type = type;
  }

  // Class method
  getInfo() {
    return `${this.name} is a ${this.type} animal.`;
  }
}

Neste exemplo, getInfo é um método da classe Animal. Qualquer instância de Animal pode chamar esse método para obter informações sobre aquela instância específica.

Como os Métodos São Associados às Instâncias de uma Classe

Ao criar uma instância de uma classe, os métodos definidos dentro da classe automaticamente ficam disponíveis para essa instância. Esses métodos podem acessar e manipular as propriedades da instância utilizando a palavra-chave this, que se refere ao objeto atual.

Considere os métodos como ferramentas que cada objeto (instância) carrega consigo. Cada objeto possui seus próprios dados (propriedades), mas compartilham as mesmas ferramentas (métodos) para interagir com esses dados.

Vamos considerar o exemplo:

1234567891011121314151617
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
copy

Neste exemplo, tanto lion quanto pig são instâncias da classe Animal. O método getInfo está disponível para ambos e retorna resultados diferentes com base nas propriedades da instância específica em que é chamado. Isso demonstra como os métodos são compartilhados entre as instâncias, mas operam sobre dados específicos de cada uma.

Por que usar métodos de classe?

Métodos de classe definem comportamentos específicos para o objeto. Eles tornam o código mais modular, de fácil manutenção e criam uma separação clara de responsabilidades. Em vez de manipular diretamente as propriedades do objeto, os métodos de classe oferecem uma forma controlada de interagir e modificar os dados do objeto.

Exemplo com um método que altera o estado do objeto:

1234567891011121314151617181920
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
copy

Neste exemplo, o método changeType permite atualizar a propriedade type do objeto. Isso demonstra como métodos podem encapsular lógica que afeta diretamente o estado do objeto.

1. O que é um método de classe?

2. Em uma classe, como definir um método chamado speak que uma instância pode usar?

3. Qual é a saída do seguinte código?

question mark

O que é um método de classe?

Select the correct answer

question mark

Em uma classe, como definir um método chamado speak que uma instância pode usar?

Select the correct answer

question mark

Qual é a saída do seguinte código?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 4
some-alt