Как происходит наследование прототипа от другого прототипа? JavaScript - Вопросы по Java

Вопрос Как происходит наследование прототипа от другого прототипа? JavaScript

Регистрация
5 Ноя 2013
Сообщения
83
Репутация
-5
Спасибо
1
Монет
0
Немного запутался и хотел узнать правильно ли мыслю
К примеру мы создали конструктор, который будет делать птиц и привязали к нему прототипы с функциями (fly и т. п), где каждый объект созданный через этот конструктор будет летать и всё что делают обычные птицы.
Теперь нам нужен другой конструктор, который будет создавать уток, но утки должны уметь делать всё то что умеют обычные птицы.
Мы создаём конструктор Duck(который создаёт уток) и к прототипу Duck присваиваем пустой объект, который создан через конструктор, который создаёт птиц, тем самым в прототипе Duck будет храниться пустой объект с прототипами обычной птицы.
Т. е. все объекты, созданные через Duck будут иметь доступ к прототипам Обычной птицы
Например
1)function Bird(){..}
Bird.prototype.fly=function(){...}
2)function Duck(){...}
Duck.prototype=new Bird(); и именно здесь конструктор Duck получает все прототипы конструктора Bird
Всё ли верно?
 
Регистрация
8 Ноя 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
>наследование прототипа от другого прототипа В JavaScript нет наследования. Действие, аналогичное наследованию, называется "протипированием". Да, все примерно так. Лучше думать об этом так: когда ты пишешь a.b JavaScript ищет свойство b в a, если не находит - в a.prototype, если не находит - в a.prototype.prototype, и так, пока очередной prototype не будет undefined.
 
Сверху Снизу