例如,如果我有这样的界面:
interface MyInterface {
fun thouMustImplementThis()
}
我有一个实现MyClass
的类MyInterface
,这意味着我必须为该函数创建一个覆盖:
class MyClass : View, MyInterface {
override fun thouMustImplementThis() {
println ("Hello world")
}
}
是否有另一个接口可以实现该功能?
interface YourInterface {
fun thouMustImplementThis() {
println ("Hello Stack Overflow")
}
}
所以我可以将实现留在班级之外:
class MyClass : View, MyInterface, YourInterface {
}
但是我发现我仍然必须实现该功能,尽管我只需要添加对其超级功能版本的调用即可。
class MyClass : View, MyInterface, YourInterface {
override fun thouMustImplementThis() {
super.thouMustImplementThis()
}
}
我不想要这个。
重点是,我想为某些本机接口创建某种默认实现,这样就不必在每次基于这些接口创建类时都重新实现它们。我当时以为通过将其作为接口,可以根据需要“附加”实现。有什么解决方法吗?
答案 0 :(得分:3)
您只需让该接口实现另一个接口即可。 像这样:
=("FRO-GEPSA018");=("34212254600225");01-07-2019/31-07-2019; 1789,32
=("FRO-GNVERT01");=("41985346000584");01-07-2019/31-07-2019; 466,84
=("FRO-ESGED01");=("53983181800064");01-07-2019/31-07-2019; 4788,55
=("FRO-SGE") ;=("54209732400017");01-07-2019/31-07-2019; 1587,78
=("FRO-STO") ;=("54209732400025");01-07-2019/31-07-2019; 798,28
=("FRO-ELOC005");=("55204695500985");01-07-2019/31-07-2019; 4585
=("FRO-ELOC002");=("55204695502627");01-07-2019/31-07-2019; 1997,54
=("FRO-IDFTRT08");=("55204695503542");01-06-2019/30-06-2019; -30,45
=("FRO-IDFTRT08");=("55204695503542");01-07-2019/31-07-2019; 507,58
=("FRO-ELOC015");=("55204695503682");01-07-2019/31-07-2019; 1393,28
=("FRO-IDFTRT02");=("55204695504060");01-07-2019/31-07-2019; 10,31
=("FRO-IDFTRT10");=("55204695504581");01-07-2019/31-07-2019; 1035,77
=("FRO-ELSIEGNE");=("55204695506040");01-07-2019/31-07-2019; 2749,91
=("FRO-BUB2B01");=("55204695506065");01-06-2019/30-06-2019; 369,06
=("FRO-SCDC01");=("74542015800024");01-07-2019/31-07-2019; 1231,65
@$CHARG_SQLFIC
QUIT;
EOF
if [ $? -eq 1 ] ; then
print_log "<E> Erreur lors de l'exécution du script SQL."
maj_cr 99
else
print_log " -> Création OK."
print_log " -> Suppression des caractères de mise en forme SQL*Plus..."
sed -e 's/ //g' \
-e 's/ //g' \
$CHARG_FICSOR > $CHARG_FICSOR.tmp
mv $CHARG_FICSOR.tmp $CHARG_FICSOR
sed 's/ *;/;/g' $CHARG_FICSOR >> $CHARG_FICSOR1
sed 's/; */;/g' $CHARG_FICSOR1 >> $CHARG_FICSOR
fi
fi
imp_etat "$CODSOC" "$CHARG_FICSOR" "Charges"
fi
现在,该类可以像这样实现(不需要主体):
interface YourInterface : MyInterface {
override fun thouMustImplementThis() {
println("Hello Stack Overflow")
}
}