Definering af Metoder i JavaScript-Klasser
Nu hvor vi ved, hvordan man tilføjer egenskaber ved hjælp af konstruktøren, skal vi undersøge, hvordan man tilføjer metoder til en klasse.
Definering og anvendelse af klassem etoder
Disse metoder arbejder typisk på objektets egenskaber og giver en måde at interagere med dets data på.
For at definere en klassemetode erklæres blot en funktion inde i klassen uden at bruge function-nøgleordet.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
I dette eksempel er getInfo en metode i Animal-klassen. Enhver instans af Animal kan kalde denne metode for at hente information om den pågældende instans.
Hvordan metoder er tilknyttet instanser af en klasse
Når du opretter en instans af en klasse, bliver de metoder, der er defineret i klassen, automatisk tilgængelige for denne instans. Disse metoder kan tilgå og manipulere instansens egenskaber ved hjælp af this-nøgleordet, som refererer til det aktuelle objekt.
Tænk på metoder som værktøjer, som hvert objekt (instans) har med sig. Hvert objekt har sine egne data (egenskaber), men de deler de samme værktøjer (metoder) til at interagere med disse data.
Lad os se på eksemplet:
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.
I dette eksempel er både lion og pig instanser af Animal-klassen. Metoden getInfo er tilgængelig for begge og returnerer forskellige resultater baseret på egenskaberne for den specifikke instans, den kaldes på. Dette demonstrerer, hvordan metoder deles på tværs af instanser, men arbejder med data, der er specifikke for hver enkelt.
Hvorfor bruge klassemetoder?
Klassemetoder definerer adfærd, der er specifik for objektet. De gør koden mere modulær, vedligeholdelsesvenlig og skaber en klar opdeling af ansvar. I stedet for at manipulere objektets egenskaber direkte, tilbyder klassemetoder en kontrolleret måde at interagere med og ændre objektets data på.
Eksempel med en metode, der ændrer objektets tilstand:
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.
I dette eksempel giver changeType-metoden dig mulighed for at opdatere objektets type-egenskab. Dette viser, hvordan metoder kan indkapsle logik, der direkte påvirker objektets tilstand.
1. Hvad er en klassemetode?
2. Hvordan definerer du en metode kaldet speak i en klasse, som en instans kan bruge?
3. Hvad returnerer følgende kode?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Definering af Metoder i JavaScript-Klasser
Stryg for at vise menuen
Nu hvor vi ved, hvordan man tilføjer egenskaber ved hjælp af konstruktøren, skal vi undersøge, hvordan man tilføjer metoder til en klasse.
Definering og anvendelse af klassem etoder
Disse metoder arbejder typisk på objektets egenskaber og giver en måde at interagere med dets data på.
For at definere en klassemetode erklæres blot en funktion inde i klassen uden at bruge function-nøgleordet.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
I dette eksempel er getInfo en metode i Animal-klassen. Enhver instans af Animal kan kalde denne metode for at hente information om den pågældende instans.
Hvordan metoder er tilknyttet instanser af en klasse
Når du opretter en instans af en klasse, bliver de metoder, der er defineret i klassen, automatisk tilgængelige for denne instans. Disse metoder kan tilgå og manipulere instansens egenskaber ved hjælp af this-nøgleordet, som refererer til det aktuelle objekt.
Tænk på metoder som værktøjer, som hvert objekt (instans) har med sig. Hvert objekt har sine egne data (egenskaber), men de deler de samme værktøjer (metoder) til at interagere med disse data.
Lad os se på eksemplet:
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.
I dette eksempel er både lion og pig instanser af Animal-klassen. Metoden getInfo er tilgængelig for begge og returnerer forskellige resultater baseret på egenskaberne for den specifikke instans, den kaldes på. Dette demonstrerer, hvordan metoder deles på tværs af instanser, men arbejder med data, der er specifikke for hver enkelt.
Hvorfor bruge klassemetoder?
Klassemetoder definerer adfærd, der er specifik for objektet. De gør koden mere modulær, vedligeholdelsesvenlig og skaber en klar opdeling af ansvar. I stedet for at manipulere objektets egenskaber direkte, tilbyder klassemetoder en kontrolleret måde at interagere med og ændre objektets data på.
Eksempel med en metode, der ændrer objektets tilstand:
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.
I dette eksempel giver changeType-metoden dig mulighed for at opdatere objektets type-egenskab. Dette viser, hvordan metoder kan indkapsle logik, der direkte påvirker objektets tilstand.
1. Hvad er en klassemetode?
2. Hvordan definerer du en metode kaldet speak i en klasse, som en instans kan bruge?
3. Hvad returnerer følgende kode?
Tak for dine kommentarer!