Soweit ich in Dart verstanden habe, ist es möglich, abstrakte Klassen zu verwenden, um "Schnittstellen" oder "Protokolle" zu deklarieren (wenn Sie von objective-c kommen). Anyway Ich habe Probleme bei der Suche nach einer Möglichkeit, eine optionale Methode in der abstrakten Klasse/Schnittstelle zu deklarieren.Deklaration einer Methode als optional in der abstrakten Klasse
Wenn ich erklären, eine Methode in der abstrakten Klasse A, und lassen Sie die konkrete Klasse Bimplementieren A, erhalte ich eine Warnung im Compiler. Ich möchte in der Lage sein, eine Methode als optional zu deklarieren oder zumindest eine Standardimplementierung bereitzustellen, ohne sie in einer Klasse, die meine Schnittstelle implementiert, neu deklarieren zu müssen.
abstract class A{
void abstractMethod();
}
class B implements A{
//not implementing abstract method here gives a warning
}
ich Ihre Lösung verstehen und mit ihm "konzeptionell" zustimmen. Allerdings wurde meine Frage genau gestellt, um zu verstehen, ob es eine Möglichkeit gibt, dieses Verhalten in Dart zu erreichen. In objective-c kann ich eine Methode in einer "Schnittstelle" deklarieren (auch wenn sie als Protokoll bezeichnet wird) und sie als @optional kennzeichnen. Auf diese Weise würde sich der Analysator nicht über eine fehlende Implementierung beschweren. Hoffte auf ein solches Verhalten in Dart, aber anscheinend, nach Ihrer Antwort zu urteilen, ist nicht möglich. –
Ich bin mir ziemlich sicher, dass es nicht ist –