HarmonyOS 重载方法问题

handlePaymentResult(callback:CPPayResultCallback):void;//第一个签名
handlePaymentResult(uiContext:UIContext|undefined,want:Want|undefined,callback:CPPayResultCallback):void;//第二个签名
//实现签名
public handlePaymentResult(uiContext?:UIContext|undefined,want?:Want|undefined,callback:CPPayResultCallback):void {
}

以上这么写会报两个错:

1、第一个签名处:

This overload signature is not compatible with its implementation signature. <ArkTSCheck>

2、实现签名处:

A required parameter cannot follow an optional parameter. <ArkTSCheck>
HarmonyOS
2024-12-25 11:23:16
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

1、对于有重载的函数,源函数的每个重载都要在目标函数上找到对应的函数签名,这样确保了目标函数可以在所有源函数可调用的地方地方,例:

// 源函数
function overload(x: number, y: number): number;
function overload(x: string, y: string): string;
// 目标函数
function overload(x: any, y: any): any{ };
// 复制代码
// Error1: 目标函数的参数个数 少于 源函数的参数
// 源函数
function overload(x: number, y: number): number;
// This overload signature is not compatible with its implementation signature
function overload(x: string, y: string): string;
// 目标函数
function overload(x: any, y: any, z: any): any{ };
// Error2: 目标函数和源函数的返回值类型不兼容
// 源函数
function overload(x: number, y: number): number;
// This overload signature is not compatible with its implementation signature
function overload(x: string, y: string): string;
// 目标函数
function overload(x: any, y: any) { };

2、必须参数不能位于可选参数后面

分享
微博
QQ
微信
回复
2024-12-25 14:17:16
相关问题
HarmonyOS 方法重载
1238浏览 • 1回复 待解决
HarmonyOS 页面重载问题
717浏览 • 1回复 待解决
Flutter 热重载方法有哪些?
1286浏览 • 1回复 待解决
HarmonyOS TS类方法重载不能正常使用
1375浏览 • 1回复 待解决
HarmonyOS .ets文件中不能使用方法重载
986浏览 • 1回复 待解决
ArkTS类的方法是否支持重载
3600浏览 • 1回复 待解决
请问热重载如何启动?
553浏览 • 0回复 待解决
RichEditor添加、删除、重载图片
2098浏览 • 1回复 待解决
HarmonyOS 重载函数类型的变量报错
734浏览 • 1回复 待解决
HarmonyOS ArkTS 关于重载的实现方式
1018浏览 • 1回复 待解决
HarmonyOS 方法点击跳转问题
887浏览 • 1回复 待解决
HarmonyOS方法兼容问题
1498浏览 • 1回复 待解决
HarmonyOS getContext方法时机问题
1482浏览 • 1回复 待解决
HarmonyOS ArkTS中运算符重载怎么写
971浏览 • 1回复 待解决
4.0release不支持热重载
4086浏览 • 1回复 待解决
目前开发工具支持热重载
581浏览 • 1回复 待解决
HarmonyOS onAreaChange回调方法问题
1217浏览 • 1回复 待解决
关于har和hsp的热重载使用
2261浏览 • 1回复 待解决