Bibliotheken & Imports
Teil des Abschnitts Objektorientierte Programmierung der Dart-Journey von Coddy — Lektion 2 von 110.
Dart verfügt über eine umfangreiche Auswahl an integrierten Bibliotheken, die Sie mit der import 'dart:libraryname'; Syntax importieren können.
Einige häufig verwendete integrierte Bibliotheken:
dart:math— mathematische Funktionen und Konstanten
dart:io— Unterstützung für Datei-, Socket- und Standard-I/O
dart:core— automatisch importiert, stellt Basistypen bereit
Importieren Sie die dart:math Bibliothek, um mathematische Funktionen zu verwenden
import 'dart:math';Verwenden Sie Funktionen und Konstanten aus der Bibliothek
void main() {
print(sqrt(25)); // 5.0
print(pi.toStringAsFixed(5)); // 3.14159
print(pow(2, 10)); // 1024
}Ausgabe:
5.0
3.14159
1024Sie können auch eine eigene Datei neben einer integrierten Bibliothek importieren. Beide Arten von Importen funktionieren auf die gleiche Weise – der Unterschied besteht darin, ob der Pfad mit dart: (integriert) oder einem Dateinamen-String (lokale Datei) beginnt.
import 'dart:math'; // integrierte Bibliothek
import 'my_helpers.dart'; // eigene DateiAufgabe
MittelDir wird math_tools.dart zur Verfügung gestellt, das intern bereits dart:math verwendet. Füge die korrekte import-Anweisung in driver.dart hinzu, um math_tools.dart einzubinden, damit du dessen Funktionen aufrufen kannst!
math_tools.dart: Enthält die FunktionengetSquareRoot(n)undgetPI()(gesperrt)driver.dart: Füge den Import hinzu und der Rest wird funktionieren
Spickzettel
Importieren Sie integrierte Bibliotheken mit der import 'dart:libraryname'; Syntax:
import 'dart:math';Häufig verwendete integrierte Bibliotheken:
dart:math— mathematische Funktionen und Konstantendart:io— Unterstützung für Dateien, Sockets und Standard-I/Odart:core— automatisch importiert, bietet Basistypen
Beispiel mit dart:math:
import 'dart:math';
void main() {
print(sqrt(25)); // 5.0
print(pi.toStringAsFixed(5)); // 3.14159
print(pow(2, 10)); // 1024
}Importieren Sie Ihre eigenen Dateien mit einem Dateinamen-String:
import 'dart:math'; // integrierte Bibliothek
import 'my_helpers.dart'; // eigene DateiProbier es selbst
// TODO: math_tools.dart importieren, um getSquareRoot und getPI zu verwenden
import 'dart:io';
void main() {
String testCase = stdin.readLineSync()!;
if (testCase == 'sqrt_test') {
print(getSquareRoot(25).toInt());
} else if (testCase == 'pi_test') {
print(getPI().toStringAsFixed(5));
}
}
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