Как переопределить метод перегрузки Java в nativescript? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть класс Android-Java с двумя перегруженными методами

package com.test;

public class A{

  public void theMethod(Bitmap bitmap){
    ...
  }

  public void theMethod(int resource){
    ...
  }
}

И я пытаюсь расширить класс в программе Nativescript-Angular :

class ExtendedA extends com.test.A{
    public theMethod(bitmap : android.graphics.Bitmap) : void{
        ...
    }
}

но у меня есть эта ошибка

Property 'theMethod' in type 'ExtendedA' is not assignable to the same property in base type ‘A’.
  Type ‘(bitmap : Bitmap) => void' is not assignable to type '{ (param: Bitmap): void; (param : number): void; }'.
    Types of parameters 'bitmap' and 'param' are incompatible.
      Type 'number' is not assignable to type 'Bitmap'.

PD У меня нет кода класса com.test.A.

1 Ответ

0 голосов
/ 28 февраля 2019

В вашем файле tsconfig.json вам нужно сделать - strictFunctionTypes: true .

"compilerOptions": {
    "module": "commonjs",
    "strictFunctionTypes": true,
    "downlevelIteration": true
 }

PS , если число аргументов отличается в классе Aзатем перегрузки метода Java обрабатываются разработчиком путем явной проверки количества аргументов вызываемой функции.

...