Implicita gränssnitt och implements
Behandla vilken klass som helst som ett gränssnitt
Implicita gränssnitt och implements är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 2 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.
Varje klass är ett interface
I Dart definierar varje klass i det tysta ett implicit interface: den fullständiga uppsättningen offentliga metoder och getters som andra kan lova att tillhandahålla.
implements jämfört med extends
Med extends ärver Ni kod. Med implements tar Ni bara över formen och måste skriva om varje medlem själva.
class Robot implements Greeter {}En enkel källa till ett interface
Vilken vanlig klass som helst kan fungera som ett interface. Här definierar Greeter en metod som andra kan implementera.
class Greeter {
String greet() => 'Hi';
}Implementera interfacet
När Ni implementerar en klass följer ingen av dess kod med. Ni tillhandahåller en ny kropp för varje medlem som den deklarerade.
class Robot implements Greeter {
String greet() => 'Beep';
}Ni måste tillhandahålla allt
Att hoppa över ens en medlem ger ett kompileringsfel. implements kräver hela interfacet, utan genvägar genom arv.
class Robot implements Greeter {} // error: greet missingImplementera flera interface
En klass kan implementera många interface samtidigt genom att lista dem med kommatecken och på så sätt få alla deras former samlade.
class Robot implements Greeter, Logger {}Abstrakta klasser som interface
Rena abstract-klasser fungerar utmärkt som interface. De deklarerar bara signaturer, så implementerare ärver ingen kod alls.
abstract class Greeter {
String greet();
}Interface plus arv
Ni kan kombinera båda: extends en klass för dess kod och implements andra för deras former i samma deklaration.
class Robot extends Machine implements Greeter {}Typa mot interfacet
När en klass implementerar Greeter kan Ni lagra den i en Greeter-variabel och anropa greet utan att känna till den konkreta typen.
Greeter g = Robot();
print(g.greet());Interface förblir frikopplade
Eftersom implements inte kopierar något beteende förblir Er klass oberoende av originalet. Ändra källan fritt utan att ärva dess buggar.
Fält blir getters
Ett fält i ett interface visas som ett krav på en getter. Ni uppfyller det med ett riktigt fält eller en beräknad getter.
class Robot implements Named {
final String name = 'R2';
}Snabbkontroll
En snabb fråga om att implementera interface.
Sammanfattning
Varje klass exponerar ett implicit interface. Använd implements för att ta över dess form, implementera varje medlem på nytt och till och med kombinera många interface samtidigt. 🔌
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 ”Implicita gränssnitt och implements” gratis?
Ja – hela texten till ”Implicita gränssnitt och implements” 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 ”Implicita gränssnitt och implements”?
Behandla vilken klass som helst som ett gränssnitt 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 2 av 4.
Hur lång tid tar lektionen ”Implicita gränssnitt och implements”?
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
- Abstrakta klasser och abstrakta metoder
- Implicita gränssnitt och implements
- Polymorfism genom delade typer
- Komposition framför arv