Externe Dateien
Teil des Abschnitts Objektorientierte Programmierung der Dart-Journey von Coddy — Lektion 1 von 110.
Externe Dateien ermöglichen es Ihnen, Ihre Klassen in separaten Dart-Dateien zu organisieren und sie in Ihr Hauptprogramm zu importieren.
Erstellen Sie eine separate Dart-Datei namens my_class.dart
class MyClass {
// Klassenrumpf
}Importieren Sie die Datei in Ihre Hauptdatei unter Verwendung der import-Anweisung
import 'my_class.dart';Jetzt kannst du die Klasse in deiner Hauptdatei verwenden
void main() {
MyClass obj = MyClass();
print(obj.runtimeType);
}Ausgabe:
MyClassDie import 'my_class.dart';-Anweisung verbindet die Datei my_class.dart mit Ihrem Programm. Der Dateiname muss die Erweiterung .dart enthalten und in einfache Anführungszeichen gesetzt werden. Dart löst den Pfad relativ zur aktuellen Datei auf.
Aufgabe
MittelDir werden zwei Dart-Dateien gegeben (my_class.dart und driver.dart). Füge die korrekte import-Anweisung in driver.dart hinzu, um die Dateien zu verbinden, sodass MyClass verwendet werden kann!
Spickzettel
Um Klassen aus externen Dateien zu verwenden, erstellen Sie separate Dart-Dateien und importieren Sie diese mit der import-Direktive:
Erstellen Sie eine separate Datei (z. B. my_class.dart):
class MyClass {
// Klassenrumpf
}Importieren Sie die Datei in Ihr Hauptprogramm:
import 'my_class.dart';Der Dateiname muss die Erweiterung .dart enthalten und in einfache Anführungszeichen gesetzt werden. Dart löst den Pfad relativ zur aktuellen Datei auf.
Verwenden Sie die importierte Klasse:
void main() {
MyClass obj = MyClass();
print(obj.runtimeType);
}Probier es selbst
// TODO: Importiere my_class.dart
import 'dart:io';
void main() {
String testCase = stdin.readLineSync()!;
MyClass obj = MyClass();
print('Test completed');
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienBibliotheken & ImportsEinführung in die OOPKlassen vs. ObjekteDas this-SchlüsselwortMethodenInstanzvariablenKonstruktor-GrundlagenWiederholung – Einfacher Taschenrechner4Null-Sicherheit
Einführung in Null-SicherheitNullable vs. Non-NullableDie ? und ! OperatorenLate-Schlüsselwort & Null-SicherheitNull-aware OperatorenNull-Sicherheit in KlassenZusammenfassung – Benutzerprofil-System7Abstrakte Klassen & Interfaces
Abstrakte KlassenAbstrakte MethodenInterfaces in DartImplizite InterfacesImplementieren vs. ErweiternMehrfache InterfacesRückblick – Shape Calculator10Collections & Generics
Überblick über List, Set und MapTypsichere CollectionsGenerische KlassenGenerische MethodenGenerische ConstraintsIterable & IteratorZusammenfassung – Generische Speicherung13Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungExtension MethodsCallable ClassesSealed Classes (Dart 3)Records (Dart 3)Patterns & Matching (3.0)Enums mit Methoden16Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen2Konstruktoren in Dart
Standard-KonstruktorBenannte KonstruktorenInitialisierungslistenKonstante KonstruktorenFactory-KonstruktorenWeiterleitende KonstruktorenZusammenfassung – Shape Builder5Kapselung
Öffentliche vs. private MemberDie _ Präfix-KonventionSichtbarkeit auf Library-EbeneGetter & Setter im DetailInformation HidingRückblick – Schülerdatensätze8Mixins
Einführung in MixinsMixins erstellenMehrere Mixins verwendenDas on-Schlüsselwort in MixinsMixin vs. VererbungMixin vs. InterfaceZusammenfassung - Tiersystem11Spezielle Methoden
toString() überschreibenhashCode & == überschreibenComparable-Interfacecall()-MethodenoSuchMethod überschreibenZusammenfassung – Eigene Collection14Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster3Klasseneigenschaften
Instanz- vs. statische MemberFinal & Const FelderLate-VariablenStatische Methoden & FelderGetter und SetterZusammenfassung – Bankkonto-Manager6Vererbung
Grundlagen der VererbungDas super-SchlüsselwortMethoden überschreibenDie @override-AnnotationDas final-Klassen-SchlüsselwortKonstruktoren & VererbungRückblick – Mitarbeiter-Hierarchie9Polymorphismus
Polymorphismus-GrundlagenPolymorphismus über InterfacesTypprüfung zur LaufzeitDie is & as OperatorenDas covariant SchlüsselwortZusammenfassung – Payment Processor