Bibliotheken & Imports
Teil des Abschnitts Objektorientierte Programmierung der Dart-Journey von Coddy. Lektion 2 von 110.
Dart wird mit einer umfangreichen Sammlung integrierter Bibliotheken ausgeliefert, die du mit der Syntax import 'dart:libraryname'; importieren kannst.
Einige häufig verwendete integrierte Bibliotheken:
dart:math: mathematische Funktionen und Konstanten
dart:io: Unterstützung für Dateien, Sockets und standardmäßige Ein-/Ausgabe
dart:core: automatisch importiert, stellt grundlegende Typen bereit
Importiere die Bibliothek dart:math, um mathematische Funktionen zu verwenden
import 'dart:math';Verwende 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
1024Du kannst außerdem eine eigene Datei zusammen mit einer integrierten Bibliothek importieren. Beide Arten von Importen funktionieren auf dieselbe Weise: Der Unterschied besteht darin, ob der Pfad mit dart: (integriert) oder einer Dateinamenzeichenfolge (lokale Datei) beginnt.
import 'dart:math'; // eingebaute Bibliothek
import 'my_helpers.dart'; // deine eigene DateiAufgabe
MittelDir wird math_tools.dart bereitgestellt, das intern bereits dart:math verwendet. Füge in driver.dart die richtige import-Anweisung hinzu, um math_tools.dart einzubinden, damit du seine Funktionen aufrufen kannst!
math_tools.dart: Enthält die FunktionengetSquareRoot(n)undgetPI()(gesperrt)driver.dart: Füge den Import hinzu, dann funktioniert der Rest
Probier es selbst
// TODO: Importiere math_tools.dart, 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 Schlüsselwort thisMethodenInstanzvariablenGrundlagen von KonstruktorenRückblick – Einfacher Taschenrechner4Null-Sicherheit
Einführung in die Null-SicherheitNullable vs. Non-NullableDie Operatoren ? und !Late-Schlüsselwort und Null-SicherheitNull-bewusste OperatorenNull-Sicherheit in KlassenRückblick – Benutzers профilsystem7Abstrakte Klassen & Interfaces
Abstrakte KlassenAbstrakte MethodenInterfaces in DartImplizite InterfacesImplementieren vs. ErweiternMehrere InterfacesZusammenfassung – Formrechner10Collections & Generics
Übersicht über List, Set und MapTypsichere CollectionsGenerische KlassenGenerische MethodenGenerische EinschränkungenIterable & IteratorRückblick – Generischer Speicher13Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungErweiterungsmethodenAufrufbare KlassenVersiegelte Klassen (Dart 3)Records (Dart 3)Muster & Matching (3.0)Enums mit Methoden16Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen2Konstruktoren in Dart
StandardkonstruktorBenannte KonstruktorenInitialisierungslistenKonstantenkonstruktorenFactory-KonstruktorenWeiterleitende KonstruktorenRückblick – Shape Builder5Kapselung
Öffentliche vs. private MemberDie _-Präfix-KonventionBibliotheksweite SichtbarkeitTiefergehende Getter & SetterInformationsverbergungRückblick – Studierendendaten8Mixins
Einführung in MixinsMixins erstellenMehrere Mixins verwendenDas Schlüsselwort „on“ in MixinsMixin vs. VererbungMixin vs. SchnittstelleRückblick – Tiersystem11Spezielle Methoden
toString()-ÜberschreibunghashCode- & ==-ÜberschreibungComparable-Schnittstellecall()-MethodenoSuchMethod-ÜberschreibungWiederholung – Benutzerdefinierte Collection14Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFabrikmusterBeobachtermusterStrategiemuster17Abschließende Herausforderungen
E-Learning-PlattformBankingsystemSpielcharaktersystemFahrzeugvermietung3Klassen-Eigenschaften
Instanz- vs. statische MemberFinal- und Const-FelderLate-VariablenStatische Methoden und FelderGetter und SetterRückblick – Bankkontoverwaltung6Vererbung
Grundlegende VererbungDas Schlüsselwort superMethodenüberschreibungDie Annotation @overrideDas Schlüsselwort final für KlassenKonstruktoren und VererbungZusammenfassung – Mitarbeiterhierarchie9Polymorphismus
Grundlagen des PolymorphismusPolymorphismus über InterfacesLaufzeit-TypüberprüfungDie Operatoren is & asCovariant-SchlüsselwortZusammenfassung – ZahlungsprozessorÜbe selbstständig: Online-Dart-Compiler