TypeScript быстро
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  TypeScript быстро

Ваня Волошин
Ваня Волошиндәйексөз келтірді1 апта бұрын
транспиляция конвертирует программу из одного языка в другой (например, из TypeScript в JavaScript).
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
С другой стороны, наш летающий объект также является автомобилем, поэтому мы можем объявить интерфейс Flyable следующим образом. Листинг 3.19. Расширение интерфейса interface Flyable extends MotorVehicle{ Один интерфейс расширяет другой fly(howHigh: number); land(); Объявляет сигнатуру метода для реализации в классе }
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
В таком случае можно объявить класс SecretServiceCar так: Листинг 3.18. Класс, реализующий три интерфейса class SecretServiceCar implements MotorVehicle, Flyable, Swimmable { // Реализуйте здесь все методы из трех интерфейсов. }
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Листинг 3.17. Класс, расширяющий и реализующий class SecretServiceCar extends Car implements Flyable, Swimmable { // Реализуйте здесь все методы из двух интерфейсов. } Реализуя все методы, объявленные в Flyable и Swimmable, наш класс SecretServiceCar превращает обычный автомобиль в летающе-плавающий объект. Класс Car при этом продолжает представлять обычный авто с функцио­нальностью, объявленной в интерфейсе MotorVehicle.
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Теперь спроектируем интерфейс для машины Джеймса Бонда. Все верно, для агента 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 и добавляющий больше возможностей.
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Явно мы могли бы объявить тип car так (хотя это не обязательно): const car: Car = new Car(); Мы также могли бы объявить для константы car тип MotorVehicle, поскольку наш класс car реализует этот пользовательский тип: const car: MotorVehicle = new Car();
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Другими словами, предыдущий фрагмент кода утверждает: «Я обещаю, что класс Car реализует API, объявленный в интерфейсе MotorVehicle». Следующий листинг показывает упрощенную реализацию этого интерфейса в классе Car. Листинг 3.14. Класс, реализующий MotorVehicle
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Обратите внимание, что ни один из методов MotorVehicle не реализован. Теперь мы можем объявить класс Car, который будет реализовывать все методы, объявленные в интерфейсе MotorVehicle. С помощью ключевого слова implements мы объявляем, что класс реализует конкретный интерфейс: class Car implements MotorVehicle { } Это простое объявление класса не скомпилируется. Вы получите ошибку: «Class Car incorrectly implements interface MotorVehicle» (Класс Car неверно реализует интерфейс MotorVehicle). Когда вы объявляете, что класс реализует некий интерфейс, вы должны реализовать каждый метод, объявленный в нем.
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Давайте смоделируем интерфейс автомобиля с помощью синтаксиса TypeScript. Следующий листинг показывает интерфейс MotorVehicle, объявляющий пять методов. Листинг 3.13. Интерфейс MotorVehicle
Комментарий жазу
Аня З.
Аня З.дәйексөз келтірді2 ай бұрын
Листинг 3.12. Один конструктор с опциональным аргументом
Комментарий жазу