Метод util.inherits() в Node.js

Ранее мы уже рассказывали про такие методы, как util.inspect() и util.format(), однако незаслуженно обошли вниманием метод util.inherits(). Давайте исправим эту ошибку.

Чтобы было легче понять вышеназванный метод, скачаем исходники Node.JS и достанем из них файл util.js — как раз он и будет являться исходником модуля util.

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

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

Вы можете создать родительский класс, а также конструктор и методы в прототипе. Далее, чтобы унаследовать от этого класса, надо создать конструктор потомка и вызвать util.inherits(). Потом добавить в прототип методы. В итоге все объекты, которые будут создаваться данным конструктором, станут наследовать от Animal. Следовательно, если запустить код выше, rabbit.walk()вызовет метод родителя, тогда как rabbit.jump() вызовет метод потомка.

Так и должно быть при наследовании.

По материалам блога https://imnotgenius.com/.