Junior
Welche Aspekte der objektorientierten Programmierung sind in der Sprache Dart vorhanden?
sobes.tech KI
Antwort von AI
In Dart gibt es die folgenden Aspekte der OOP:
- Klassen und Objekte: Die Möglichkeit, Klassen mit Feldern und Methoden zu definieren, Instanzen von Klassen (Objekte) zu erstellen.
- Kapselung: Verbergen von Implementierungsdetails durch Zugriffsmethoden (
_für private Mitglieder) und Getter/Setter-Methoden. - Vererbung: Erweiterung der Funktionalität bestehender Klassen mit dem Schlüsselwort
extends. - Polymorphismus: Die Fähigkeit, Objekte verschiedener Klassen einheitlich über eine gemeinsame Schnittstelle oder Basisklasse zu behandeln.
- Abstraktion: Erstellen abstrakter Klassen und Schnittstellen zur Definition von Verträgen.
Beispiel einer Klasse in Dart:
class Animal {
String _name; // Privates Feld
Animal(this._name); // Konstruktor
String get name => _name; // Getter
void makeSound() {
print('Ein generisches Tiergeräusch'); // Methode
}
}
Beispiel für Vererbung:
class Dog extends Animal {
Dog(String name) : super(name); // Aufruf des Konstruktors der Basisklasse
@override // Überschreiben der Basisklassenmethode
void makeSound() {
print('Wuff!');
}
}
Beispiel für Polymorphismus:
void makeAnimalSound(Animal animal) {
animal.makeSound(); // Aufruf der Methode makeSound(), die für verschiedene Animal-Typen unterschiedlich sein kann
}
// Verwendung:
// makeAnimalSound(Dog('Buddy')); // Gibt "Wuff!" aus
Dart unterstützt auch Mixins mit dem Schlüsselwort with, was die Wiederverwendung von Klassen-Code ohne direkte Vererbung ermöglicht.