Standardkonstruktorer och parameteriserade konstruktorer
Initiera fält när objekt skapas
Standardkonstruktorer och parameteriserade konstruktorer är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad en konstruktor gör
En konstruktor är den särskilda metod som skapar ett nytt objekt och ställer in dess starttillstånd när ni skriver klassnamnet. 🏗️
Standardkonstruktorn
Om ni inte skriver någon konstruktor alls ger Dart er en kostnadsfri standardkonstruktor som inte tar några argument och skapar ett tomt objekt.
class Dog {}
var d = Dog(); // uses the default constructorEn konstruktor med parametrar
Lägg till parametrar så att anroparen kan ange värden direkt. En konstruktor med parametrar tilldelar dessa värden till objektets fält.
class Dog {
String name;
Dog(this.name);
}Nyckelordet this i parametrar
Kortformen this.name i en parameter betyder att argumentet hämtas och sparas direkt i fältet med samma namn, så att ni sparar en kodrad.
class Dog {
String name;
Dog(this.name);
}Utan genvägen this
Ni kan också göra tilldelningen manuellt i kroppen. Här skiljer this fältet från parametern när de har samma namn.
class Dog {
String name;
Dog(String name) {
this.name = name;
}
}Skapa ett objekt
Anropa klassen som en funktion och skicka argumenten i rätt ordning. Dart kör konstruktorn och ger er en färdig instans.
var d = Dog("Rex");
print(d.name); // RexFlera parametrar i ordning
Lista parametrarna från vänster till höger. Anroparen måste skicka dem i samma positionella ordning, vilket passar bra för två eller tre tydliga fält.
class Point {
int x, y;
Point(this.x, this.y);
}Lägga till logik i kroppen
En konstruktorkropp kan utföra ytterligare initiering efter att fälten har ställts in, till exempel validering eller loggning. Håll denna kropp liten och fokuserad.
class Box {
int size;
Box(this.size) {
print("Box made: $size");
}
}Konstruktorer har ingen returtyp
Ni skriver aldrig en returtyp och returnerar aldrig ett värde. En konstruktor ger alltid tillbaka det nya objektet, så enbart namnet räcker.
class Cat {
Cat(); // no void, no return
}En namnlös konstruktor per klass
En klass får bara ha en enda namnlös konstruktor. Behöver ni fler sätt att skapa objekt? Då använder ni namngivna konstruktorer härnäst.
Standardvärdena försvinner när ni lägger till en konstruktor
I samma ögonblick som ni deklarerar en konstruktor slutar Dart att ge er den kostnadsfria konstruktorn utan argument. Lägg till den själv om ni fortfarande vill kunna skapa ett tomt objekt.
class User {
String name;
User(this.name);
User.empty() : name = "";
}Snabb kontroll
Snabb kontroll av standardkonstruktorer och konstruktorer med parametrar.
Sammanfattning: Skapa objekt
Ni har bekantat er med konstruktorer: standardkonstruktorn, konstruktorer med parametrar, genvägen this och hur en deklarerad konstruktor tar bort standardkonstruktorn. Härnäst kommer namngivna konstruktorer. ✨
Lär dig Dart med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Standardkonstruktorer och parameteriserade konstruktorer” gratis?
Ja – hela texten till ”Standardkonstruktorer och parameteriserade konstruktorer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Standardkonstruktorer och parameteriserade konstruktorer”?
Initiera fält när objekt skapas Ni övar på Dart Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Standardkonstruktorer och parameteriserade konstruktorer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Dart Academy-lektionen?
Ja. Varje Dart Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Standardkonstruktorer och parameteriserade konstruktorer
- Namngivna konstruktorer för tydligt syfte
- Initieringslistor och omdirigering
- Factory- och const-konstruktorer