Definindo 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:
1234567891011121314151617class 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.
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:
1234567891011121314151617181920class 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.
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?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Definindo 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:
1234567891011121314151617class 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.
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:
1234567891011121314151617181920class 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.
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?
Obrigado pelo seu feedback!