Нужно переопределить типы параметров методов класса, которые реализуют методы интерфейса? - PullRequest
0 голосов
/ 12 сентября 2018

Класс Calculator реализован из ICalculator, где описаны все методы и их типы. Стоит ли делать это снова для параметров методов класса?Если я удаляю, тогда любой тип данных может быть передан методу.Подскажите пожалуйста как правильно писать, я только начал изучать TypeScript

interface ICalculator {
    add(num: number): number;
    subtract(num: number): number;
    multiply(num: number): number;
    divide(num: number): number;
    print(): void;
}

class Calculator implements ICalculator {
    protected _res: number = 0;

    add(num: number) {
        return this._res = num + this._res;
    }

    subtract(num: number) {
        return this._res = this._res - num;
    }

    multiply(num: number) {
        return this._res = num * this._res;
    }

    divide(num: number) {
        return this._res = this._res / num;
    }

    print(): void {
        console.log(`Currently value: ${this._res}`);
    }
}
let myCalc = new Calculator();

myCalc.add(260);
myCalc.subtract(12);
myCalc.multiply(12);
myCalc.divide(2);
myCalc.print();

1 Ответ

0 голосов
/ 13 сентября 2018

К сожалению, вы в настоящее время должны снова написать типы параметров. Вот открытый номер . Вы можете включить параметр компилятора noImplicitAny, чтобы убедиться, что вы не пропустили аннотации типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...