0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: node, ооп, наследование, util.inherits</p>
1
<p>Теги: node, ооп, наследование, util.inherits</p>
2
<p>Ранее мы уже рассказывали про такие методы, как<strong><a>util.inspect()</a></strong>и<strong><a>util.format()</a></strong>, однако незаслуженно обошли вниманием метод util.inherits(). Давайте исправим эту ошибку.</p>
2
<p>Ранее мы уже рассказывали про такие методы, как<strong><a>util.inspect()</a></strong>и<strong><a>util.format()</a></strong>, однако незаслуженно обошли вниманием метод util.inherits(). Давайте исправим эту ошибку.</p>
3
<p>Чтобы было легче понять вышеназванный метод, скачаем исходники Node.JS и достанем из них файл<strong>util.js</strong>- как раз он и будет являться исходником модуля util.</p>
3
<p>Чтобы было легче понять вышеназванный метод, скачаем исходники Node.JS и достанем из них файл<strong>util.js</strong>- как раз он и будет являться исходником модуля util.</p>
4
<p>Если вы знакомы с объектно-ориентированным программированием в JavaScript, вы без труда поймете работу этого метода. В обратном случае настоятельно рекомендуется сначала разобраться с наследованием и объектами в JS.</p>
4
<p>Если вы знакомы с объектно-ориентированным программированием в JavaScript, вы без труда поймете работу этого метода. В обратном случае настоятельно рекомендуется сначала разобраться с наследованием и объектами в JS.</p>
5
<p>Однако никто не мешает использовать данный метод и другим способом:</p>
5
<p>Однако никто не мешает использовать данный метод и другим способом:</p>
6
<p>Вы можете создать родительский класс, а также конструктор и методы в прототипе. Далее, чтобы унаследовать от этого класса, надо создать конструктор потомка и вызвать util.inherits(). Потом добавить в прототип методы. В итоге все объекты, которые будут создаваться данным конструктором, станут наследовать от<strong>Animal</strong>. Следовательно, если запустить код выше, rabbit.walk()вызовет метод родителя, тогда как rabbit.jump() вызовет метод потомка.</p>
6
<p>Вы можете создать родительский класс, а также конструктор и методы в прототипе. Далее, чтобы унаследовать от этого класса, надо создать конструктор потомка и вызвать util.inherits(). Потом добавить в прототип методы. В итоге все объекты, которые будут создаваться данным конструктором, станут наследовать от<strong>Animal</strong>. Следовательно, если запустить код выше, rabbit.walk()вызовет метод родителя, тогда как rabbit.jump() вызовет метод потомка.</p>
7
<p>Так и должно быть при наследовании.</p>
7
<p>Так и должно быть при наследовании.</p>
8
<p><em>По материалам блога https://imnotgenius.com/.</em></p>
8
<p><em>По материалам блога https://imnotgenius.com/.</em></p>
9
9