Instansmetoder og this
Tilføj adfærd, der arbejder på instansdata.
Instansmetoder og this er en gratis Dart Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Dart Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Dart Academy-kurset indeholder 4 lektioner i alt.
Tilføj adfærd
Felter gemmer data, men en klasse kan også udføre handlinger. En funktion, der er defineret inde i en klasse, kaldes en instansmetode.
Din første metode
Skriv en metode ligesom en funktion, men inde i klassens krop. Den kan læse og bruge objektets egne felter direkte.
class Dog {
String name = "Rex";
void bark() {
print("Woof!");
}
}Kald en metode
Brug punktnotation på en instans for at køre dens metode. Punktummet fortæller Dart, hvilket objekt der skal udføre arbejdet.
var d = Dog();
d.bark();Metoder kan se felter
Inde i en metode kan du bruge et felt ved navn. Metoden arbejder automatisk på den instans, som du kaldte den på.
void greet() {
print("Hi, I am $name");
}Mød this
Nøgleordet this henviser til den aktuelle instans, altså det objekt metoden kører på lige nu.
void greet() {
print(this.name);
}Når this er valgfrit
Ofte er this underforstået, så du kan udelade det. name og this.name betyder det samme, når der ikke er navnekonflikt.
void greet() {
print(name); // same as this.name
}Når this er nødvendigt
Du skal bruge this, når en parameter skjuler et felt med samme navn. Det fortæller Dart, at du mener feltet og ikke parameteren.
void rename(String name) {
this.name = name;
}Metoder tager parametre
En metode kan modtage input ligesom enhver funktion. Kombinér disse input med felter for at frembringe nyttige resultater.
void addAge(int years) {
age = age + years;
}Metoder kan returnere værdier
Giv en metode en returtype, og returnér et resultat. På den måde kan ét objekt beregne en værdi og give den tilbage til din kode.
String label() {
return "$name ($age)";
}Metoder kalder metoder
En metode kan kalde en anden metode på det samme objekt. Brug blot navnet direkte; this forstås automatisk.
void play() {
bark();
print("$name is playing");
}Derfor er metoder vigtige
Metoder holder adfærden tæt på de data, den bruger. Dine objekter bliver intelligente, selvstændige og langt nemmere at forstå. 🐕
Hurtigt tjek
En metode har en parameter med samme navn som et felt. Hvordan sætter du feltet?
Opsummering: Metoder og this
Du har lært, at metoder tilføjer adfærd, bruger felter direkte, og at this peger på den aktuelle instans, når navne kolliderer. 🎉
Lær Dart med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Instansmetoder og this” gratis?
Ja — hele teksten til “Instansmetoder og this” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Dart Academy-kurset, skal du opgradere til CoddyKit PRO. Dart Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Instansmetoder og this”?
Tilføj adfærd, der arbejder på instansdata. Du øver dig i Dart Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Dart Academy?
Der kræves ingen tidligere erfaring. Dart Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Instansmetoder og this”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Dart Academy-lektion?
Ja. Alle Dart Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Definér en klasse med felter
- Instansmetoder og this
- Getters og setters
- Statiske medlemmer og klassekonstanter