我的背景来自Java,因此我可以像下面给出的那样在Java中实现抽象类和方法:
第1类
public class Base {
public void method( VerificationCallbacks verificationCallbacks){
verificationCallbacks.signInWithEmail();
};
}
抽象类
public abstract class VerificationCallbacks {
public abstract void signInWithEmail();
public abstract void signUpInWithEmail();
}
因此我们可以实现这些类,例如
Base base = new Base();
base.method(new VerificationCallbacks() {
@Override
public void signInWithEmail() {
}
@Override
public void signUpInWithEmail() {
}
});
但是现在我想用飞镖或颤振器实现这种技术
Base base = new Base();
base.method(new VerificationCallbacks());
但是当我编写此代码以实现重写方法时,它表明无法实例化dart抽象类,请任何人都可以帮助我实现这一目标。
答案 0 :(得分:0)
class Base {
void method({
VoidCallback signInWithEmailCallback,
VoidCallback signUpWithEmailCallback,
}) {
if (true) {
signInWithEmailCallback();
} else {
signUpWithEmailCallback();
}
}
}
和
Base base = Base();
base.method(signInWithEmailCallback: () {
//
}, signUpWithEmailCallback: () {
//
});
您还可以像这样为回调定义自己的别名
typedef VerificationCallback = void Function();
并使用它
class Base {
void method({
VerificationCallback signInWithEmailCallback,
VerificationCallback signUpWithEmailCallback,
}) {
// logic here
}
}