Skip to content

Latest commit

 

History

History
46 lines (41 loc) · 4.09 KB

readme.md

File metadata and controls

46 lines (41 loc) · 4.09 KB

Для правильного выполнения д/з не забывайте следовать гайдлайну

  • создайте новую ветку js-classes от ветки master в вашем проекте и сделайте checkout
  • создайте новую папку js-classes, выполняйте задание в этой папке

Вам необходимо создать родительский класс по "производству авто". Создайте 3 дочерних класса, которые будут наследовать от родительского. Создайте сущности каждого отдельного класса.


Наследование в ES5 стиле

Используйте только ES5 синтаксис

  • создайте файл inheritance-es5.js
  • создайте класс Car : функция, которая принимает 7 аргументов:
    • name
    • model
    • year
    • color
    • maxSpeed
    • fuelCapacity - опциональный параметр, используйте значение 60 по дефолту
    • fuelConsumption - опциональный параметр, используйте значение 10 по дефолту
  • напишите getFullName метод класса, который должен возвращать название авто (e.x. name + model)
  • напишите getAge метод класса, который должен возвращать возраст авто (ТЕКУЩИЙ ГОД - ГОД ВЫПУСКА АВТО)
  • напишите changeColor метод класса, который должен:
    • принимать один параметр (color);
    • если у авто уже есть такой цвет, показывать сообщение с текстом (например - "Авто уже покрашено в красный цвет");
    • если нет, поменять цвет авто и сообщить об этом пользователю.
  • напишите calculateWay метод класса, который должен:
    • принимать 2 аргумента: kilometers и fuel;
    • прверять если fuel < 10, сообщить пользователю;
    • посчитать среднее время пути, сообщить пользователю;
    • проверить, нужна ли дозаправка во время пути и сообщить пользователю (если нужна, то сколько)
  • создайте 3 дочерних класса, которые буду наследовать от класса Car в ES5 стиле (например: BMW, Lexus, etc. <--- по желанию)
  • создайте каждому классу уникальные свойства, которые будут присущи только этим уникальным классам( напрмер пусть все BMW могут быть оснащены панорамной крышей, Lexus могут иметь климат контроль и т.д. (примдумайти свои уникальные свойства) )
  • создайте уникальные методы, которые будут присущи этим дочерним классам (на ваш вкус)
  • создайте по крайней мере по одной сущности каждого класса
  • проверьте, как работает ваш код (используйте Chrome Dev Tools для отладки)

Наследование в ES6 стиле (class)

Используйте только ES6 синтаксис (let, const, arrow functions и т.д.)

  • создайте файл inheritance-es6.js
  • проделйте те же шаги как и в ES5 стиле, только с использованием ES6 синтаксиса (используйте ключевые слова extends и super для наследования)