Как их настроить + наследование через родительские классы

Для тех, кто плохо знаком с классами и тем, что они могут предложить, классы имеют решающее значение в объектно-ориентированном программировании, поскольку они позволяют создавать объекты, содержащие значения состояния и методы для создания определенного поведения внутри этого класса. Объекты также состоят из пар ключ-значение, содержащих данные. Как вы уже догадались (или уже знаете), Javascript - это объектно-ориентированный язык программирования!

Для чего нужны классы?

Классы - это инструмент, который разработчики используют для быстрого создания экземпляров объектов. Это отличный способ сохранить ваш код СУХИМ и снизить вероятность повторения кода. Предположим, вы управляете летним лагерем и хотите, чтобы был простой способ систематизировать данные всех ваших отдыхающих. Ниже приведен пример класса Camper, а позже в статье мы обсудим, как перемещаться по наследованию с «родительскими» классами.

Давайте разберемся с этим!

  • Camper - Camper - это имя класса, и классы обычно записываются в CamelCase.
  • Конструктор - этот метод конструктора будет вызываться каждый раз при создании нового экземпляра Camper, и он будет инициирован с именем и возрастом. Пример: const newCamper = new Camper («Сара», 10). Затем вы можете зарегистрировать этот новый экземпляр следующим образом: console.log (newCamper.name), чтобы вернуть Сара.
  • В методе конструктора мы используем ключевое слово this для обратной ссылки на экземпляр этого класса.

Внутри классов вы можете настроить любые методы получения, которые, по вашему мнению, актуальны для создания определенного поведения в вашем классе или для управления данными. Например, вы можете просто создать метод, который возвращает имя Camper, синтаксис которого будет таким же, как у любого объекта, который вы создадите.

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

Однако допустим, что мы хотим расширить наши Кемперы. Мы хотели создать дополнительный набор организаций, и мы хотим разделить наш класс Camper на добровольцев и детей. Для этого (опять же, без повторения кода и сохранения его в СУХОМ состоянии) мы можем использовать реализацию нашего существующего класса Camper в качестве родительского класса (также известного как суперкласс), а наши классы Volunteer и Kid должны быть дочерние классы (также известные как подклассы). Другими словами, наши дочерние классы будут наследовать свойства родительского класса (имя, возраст), а также любые методы родительского класса. Однако предположим, что у вашего класса добровольцев есть дополнительное свойство, которое не является частью вашего родительского класса Camper.

Вы можете заметить несколько новых ключевых слов выше, которых мы не видели раньше. Давайте разберем их:

  • extends - это сделает методы «суперкласса» (Camper) доступными в «подклассе» (Volunteer). Вы настроите конструктор как обычно.
  • super - ключевое слово super вызовет конструктор родительского класса, в нашем случае имя и возраст, за которыми следуют все новые свойства, уникальные для этого подкласса, в данном случае годыVolunteering.

Статические методы

Наконец, мы обсудим статические методы. Статические методы - это методы, которые могут быть вызваны из класса, но не привязаны к каким-либо конкретным экземплярам в этом классе. Например:

Из-за ключевого слова мы можем вызывать метод .returnCamper () только для родительского класса, но не для любых экземпляров родительского класса.

… И вот оно! Надеюсь, это поможет вам в вашем путешествии по изучению базовых классов Javascript и обеспечит хорошую основу для дальнейшего обучения.