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.
  • 2.
  • 3.
  • 4.
  • 5.

以上这么写会报两个错:

1、第一个签名处:

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

2、实现签名处:

A required parameter cannot follow an optional parameter. <ArkTSCheck>
  • 1.
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) { };
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

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

分享
微博
QQ
微信
回复
2024-12-25 14:17:16


相关问题
HarmonyOS 方法重载
1040浏览 • 1回复 待解决
HarmonyOS 页面重载问题
511浏览 • 1回复 待解决
Flutter 热重载方法有哪些?
1066浏览 • 1回复 待解决
HarmonyOS TS类方法重载不能正常使用
1057浏览 • 1回复 待解决
ArkTS类的方法是否支持重载
3375浏览 • 1回复 待解决
HarmonyOS .ets文件中不能使用方法重载
744浏览 • 1回复 待解决
HarmonyOS ArkTS 关于重载的实现方式
813浏览 • 1回复 待解决
RichEditor添加、删除、重载图片
1837浏览 • 1回复 待解决
请问热重载如何启动?
359浏览 • 0回复 待解决
HarmonyOS 重载函数类型的变量报错
507浏览 • 1回复 待解决
HarmonyOS ArkTS中运算符重载怎么写
734浏览 • 1回复 待解决
关于har和hsp的热重载使用
1849浏览 • 1回复 待解决
HarmonyOS 方法点击跳转问题
686浏览 • 1回复 待解决
4.0release不支持热重载
3663浏览 • 1回复 待解决
目前开发工具支持热重载
310浏览 • 1回复 待解决
HarmonyOS getContext方法时机问题
1241浏览 • 1回复 待解决
HarmonyOS方法兼容问题
1263浏览 • 1回复 待解决
请教一下如何实现函数的重载
1859浏览 • 1回复 待解决
重载该如何实现?有人知道吗?
1358浏览 • 1回复 待解决