Если вы знакомы с базовым Javascript, то, возможно, знаете о двух парадигмах Javascript.

  1. Парадигма функционального программирования
  2. Парадигма объектно-ориентированного программирования

В этой статье мы обсудим парадигму объектно-ориентированного программирования. Почти все в Javascript - это объект. вот почему так важно это понять. Если вы понимаете, то, скорее всего, вы сможете читать чужой код.

Объектно-ориентированное программирование (ООП) - это способ структурирования вашего кода для оптимальной читаемости, использования и обслуживания. Мы должны знать несколько основных характеристик ООП:

  • В ООП мы программируем в терминах классов, объектов, методов, свойств и т. Д.
  • ООП объединяет такие термины, как абстракция, инкапсуляция, модульность, конфиденциальность, полиморфизм, наследование и т. Д.

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

Наследование - очень важная характеристика ООП. В ES5 есть шаблон Factory, используемый для наследования в ООП.

Заводской образец

давайте обсудим на примере:

Как вы можете видеть в приведенном выше примере, Employee наследует свойства и методы Person. Поскольку функция является объектом, всякий раз, когда вы создаете функцию, ей присваивается свойство Prototype, которое также является объектом. Этот объект имеет метод по умолчанию конструктор, который возвращает саму эту функцию. По сути, в приведенном выше примере у Person есть собственный прототип, в котором мы назначаем некоторые другие свойства, такие как глаза, рот и сон. и у сотрудников должно быть все свойство человека, поэтому они хотят унаследовать эти свойства от своего прототипа, и у сотрудника также может быть свое собственное свойство, например зарплата. Итак, когда объект наследует свойства от другого объекта, это называется прототипным наследованием.

Шаблон класса ES6

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

class Employee extends Person {
costructor() {}
}

давайте обсудим приведенный выше пример с шаблоном класса:

Объект Employee расширяет прототипы Person, как вы можете видеть в приведенном выше примере. он может создавать свои собственные свойства и методы, а класс Descendent может переопределять метод родительского объекта, и это называется полиморфизмом.

Вы можете использовать оба шаблона для наследования. но наследование классов полностью отличается от прототипного наследования.

Если у вас есть какие-либо опасения по поводу этой статьи, не стесняйтесь ее комментировать.

вы также можете найти меня в Twitter: https://twitter.com/ashwanigg3