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 方法重载
446浏览 • 1回复 待解决
HarmonyOS 页面重载问题
176浏览 • 1回复 待解决
Flutter 热重载方法有哪些?
605浏览 • 1回复 待解决
HarmonyOS TS类方法重载不能正常使用
300浏览 • 1回复 待解决
ArkTS类的方法是否支持重载
2731浏览 • 1回复 待解决
HarmonyOS .ets文件中不能使用方法重载
162浏览 • 1回复 待解决
RichEditor添加、删除、重载图片
1445浏览 • 1回复 待解决
HarmonyOS 重载函数类型的变量报错
87浏览 • 1回复 待解决
HarmonyOS ArkTS 关于重载的实现方式
334浏览 • 1回复 待解决
HarmonyOS ArkTS中运算符重载怎么写
222浏览 • 1回复 待解决
4.0release不支持热重载
2893浏览 • 1回复 待解决
关于har和hsp的热重载使用
1337浏览 • 1回复 待解决
重载该如何实现?有人知道吗?
958浏览 • 1回复 待解决
请教一下如何实现函数的重载
1222浏览 • 1回复 待解决
HarmonyOS getContext方法时机问题
741浏览 • 1回复 待解决
HarmonyOS方法兼容问题
825浏览 • 1回复 待解决
HarmonyOS 方法点击跳转问题
336浏览 • 1回复 待解决
HarmonyOS onAreaChange回调方法问题
432浏览 • 1回复 待解决