Теперь спроектируем интерфейс для машины Джеймса Бонда. Все верно, для агента 007. Эта особая машина должна уметь летать, а также плавать. Для начала объявим пару интерфейсов.
Листинг 3.15. Интерфейсы Flyable и Swimmable
interface Flyable {
fly(howHigh: number);
land();
}
interface Swimmable {
swim(howFar: number);
}
Класс может реализовывать более одного интерфейса, поэтому давайте убедимся, что наш класс реализует эти два.
Листинг 3.16. Машина с тремя интерфейсами
class Car implements MotorVehicle, Flyable, Swimmable {
// Реализуйте здесь все методы из трех интерфейсов.
}
Делать каждую машину летающей и плавающей — не очень хорошая идея, поэтому давайте не будем модифицировать класс Car из листинга 3.14. Вместо этого используем наследование класса и создадим класс SecretServiceCar, расширяющий Car и добавляющий больше возможностей.
TypeScript быстро
·
Яков Файн