Menu
Coddy logo textTech

Metodi che modificano lo stato

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 15 di 56.

I metodi nelle classi JavaScript possono modificare lo stato (le proprietà) di un oggetto. Questa è una delle caratteristiche principali della programmazione orientata agli oggetti.

Creiamo una semplice classe BankAccount:

class BankAccount {
  constructor(owner, balance = 0) {
    this.owner = owner;
    this.balance = balance;
  }
  
  deposit(amount) {
    this.balance += amount;
  }
}

Ora creiamo un'istanza e modifichiamone lo stato:

const johnsAccount = new BankAccount("John", 100);
console.log(johnsAccount.balance); // Outputs: 100

johnsAccount.deposit(50);
console.log(johnsAccount.balance); // Outputs: 150

In questo esempio, il metodo deposit() modifica lo stato interno (la proprietà balance) dell'istanza BankAccount.

Possiamo aggiungere altri metodi che modificano lo stato:

class BankAccount {
  constructor(owner, balance = 0) {
    this.owner = owner;
    this.balance = balance;
  }
  
  deposit(amount) {
    this.balance += amount;
  }
  
  withdraw(amount) {
    if (amount <= this.balance) {
      this.balance -= amount;
    }
  }
  
  transfer(amount, toAccount) {
    if (amount <= this.balance) {
      this.balance -= amount;
      toAccount.balance += amount;
    }
  }
}

Ora possiamo manipolare il nostro conto bancario in più modi.

challenge icon

Sfida

Ti viene data una classe Thermostat. Il tuo compito è aggiungere metodi che modificano lo stato della sua temperatura:

  1. increaseTemp() - aumenta la temperatura di 1 grado
  2. decreaseTemp() - diminuisce la temperatura di 1 grado

Provalo tu

import { Thermostat } from './thermostat.js';

// Código de prueba - no modificar
const livingRoom = new Thermostat("Living Room", 20);

livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.currentTemp); // Debería mostrar 22

livingRoom.decreaseTemp();
console.log(livingRoom.currentTemp); // Debería mostrar 21
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online