Dart
Generic
Type
OOP
This code structure promotes flexibility and code reusability. By using abstract classes and generics, you can create an executor for different types of calculations while ensuring type safety and consistency.
import 'dart:async';
abstract class A<U extends Param, T> {
A();
FutureOr<T> calculate(U a);
}
abstract class B<int> extends A<ParamImpl, int> {
B();
@override
int calculate(ParamImpl b);
}
abstract class Param {}
class ParamImpl extends Param{}
class BImpl implements B {
@override
int calculate(ParamImpl b){return 0;}
}