Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Metodien Määrittely JavaScript-luokissa | JavaScript-luokkien ja Perinnän Hallinta
Edistynyt JavaScript-Osaaminen

bookMetodien Määrittely JavaScript-luokissa

Nyt kun tiedämme, miten ominaisuuksia lisätään konstruktorin avulla, tarkastellaan, miten metodeja lisätään luokkaan.

Luokkametodien määrittely ja käyttö

Nämä metodit toimivat tyypillisesti olion ominaisuuksilla ja tarjoavat tavan käsitellä sen tietoja.

Luokkametodin määrittämiseksi määrittele funktio luokan sisälle ilman function-avainsanaa.

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

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

Tässä esimerkissä getInfo on Animal-luokan metodi. Mikä tahansa Animal-luokan olio voi kutsua tätä metodia saadakseen tietoa kyseisestä oliosta.

Miten metodit liitetään luokan olioihin

Kun luokan olio luodaan, luokan sisällä määritellyt metodit tulevat automaattisesti kyseisen olion käyttöön. Nämä metodit voivat käyttää ja muokata olion ominaisuuksia this-avainsanan avulla, joka viittaa nykyiseen olioon.

Ajattele metodeja työkaluina, jotka jokainen olio (instanssi) kantaa mukanaan. Jokaisella oliolla on omat tietonsa (ominaisuudet), mutta ne jakavat samat työkalut (metodit) näiden tietojen käsittelyyn.

Tarkastellaan esimerkkiä:

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

Tässä esimerkissä sekä lion että pig ovat Animal-luokan ilmentymiä. getInfo-metodi on molempien käytettävissä, ja se palauttaa erilaisia tuloksia riippuen siitä, minkä ilmentymän ominaisuuksia käytetään. Tämä havainnollistaa, kuinka metodit jaetaan ilmentymien kesken, mutta toimivat kunkin ilmentymän omilla tiedoilla.

Miksi käyttää luokkametodeja?

Luokkametodit määrittelevät olion erityiset toiminnot. Ne tekevät koodista modulaarisempaa, helpommin ylläpidettävää ja selkeyttävät vastuiden jakoa. Sen sijaan, että olion ominaisuuksia muokattaisiin suoraan, luokkametodit tarjoavat hallitun tavan käsitellä ja muuttaa olion tietoja.

Esimerkki metodista, joka muuttaa olion tilaa:

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

Tässä esimerkissä changeType-metodi mahdollistaa objektin type-ominaisuuden päivittämisen. Tämä osoittaa, kuinka metodit voivat kapseloida logiikkaa, joka vaikuttaa suoraan objektin tilaan.

1. Mikä on luokan metodi?

2. Kuinka määrittelet luokassa metodin nimeltä speak, jota instanssi voi käyttää?

3. Mitä seuraava koodi tulostaa?

question mark

Mikä on luokan metodi?

Select the correct answer

question mark

Kuinka määrittelet luokassa metodin nimeltä speak, jota instanssi voi käyttää?

Select the correct answer

question mark

Mitä seuraava koodi tulostaa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookMetodien Määrittely JavaScript-luokissa

Pyyhkäise näyttääksesi valikon

Nyt kun tiedämme, miten ominaisuuksia lisätään konstruktorin avulla, tarkastellaan, miten metodeja lisätään luokkaan.

Luokkametodien määrittely ja käyttö

Nämä metodit toimivat tyypillisesti olion ominaisuuksilla ja tarjoavat tavan käsitellä sen tietoja.

Luokkametodin määrittämiseksi määrittele funktio luokan sisälle ilman function-avainsanaa.

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

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

Tässä esimerkissä getInfo on Animal-luokan metodi. Mikä tahansa Animal-luokan olio voi kutsua tätä metodia saadakseen tietoa kyseisestä oliosta.

Miten metodit liitetään luokan olioihin

Kun luokan olio luodaan, luokan sisällä määritellyt metodit tulevat automaattisesti kyseisen olion käyttöön. Nämä metodit voivat käyttää ja muokata olion ominaisuuksia this-avainsanan avulla, joka viittaa nykyiseen olioon.

Ajattele metodeja työkaluina, jotka jokainen olio (instanssi) kantaa mukanaan. Jokaisella oliolla on omat tietonsa (ominaisuudet), mutta ne jakavat samat työkalut (metodit) näiden tietojen käsittelyyn.

Tarkastellaan esimerkkiä:

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

Tässä esimerkissä sekä lion että pig ovat Animal-luokan ilmentymiä. getInfo-metodi on molempien käytettävissä, ja se palauttaa erilaisia tuloksia riippuen siitä, minkä ilmentymän ominaisuuksia käytetään. Tämä havainnollistaa, kuinka metodit jaetaan ilmentymien kesken, mutta toimivat kunkin ilmentymän omilla tiedoilla.

Miksi käyttää luokkametodeja?

Luokkametodit määrittelevät olion erityiset toiminnot. Ne tekevät koodista modulaarisempaa, helpommin ylläpidettävää ja selkeyttävät vastuiden jakoa. Sen sijaan, että olion ominaisuuksia muokattaisiin suoraan, luokkametodit tarjoavat hallitun tavan käsitellä ja muuttaa olion tietoja.

Esimerkki metodista, joka muuttaa olion tilaa:

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

Tässä esimerkissä changeType-metodi mahdollistaa objektin type-ominaisuuden päivittämisen. Tämä osoittaa, kuinka metodit voivat kapseloida logiikkaa, joka vaikuttaa suoraan objektin tilaan.

1. Mikä on luokan metodi?

2. Kuinka määrittelet luokassa metodin nimeltä speak, jota instanssi voi käyttää?

3. Mitä seuraava koodi tulostaa?

question mark

Mikä on luokan metodi?

Select the correct answer

question mark

Kuinka määrittelet luokassa metodin nimeltä speak, jota instanssi voi käyttää?

Select the correct answer

question mark

Mitä seuraava koodi tulostaa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
some-alt