В чем разница между классом и прототипным наследованием?

Класс похож на план. Классический подход к созданию объекта состоит в том, чтобы определить структуру объекта, используя объявление CLASS и создать экземпляр этого класса для создания нового объекта. Объекты, созданные таким образом, имеют свои собственные копии всех атрибутов экземпляра, а также ссылку на единственную копию каждого из методов экземпляра. Наследование - это самое узкое соединение, доступное в дизайне OO. Кроме того, классы потомков имеют глубокое знание своих классов предков.

Прототипное наследование

JavaScript не имеет классов, в отличие от других языков. Он использует концепцию прототипов и цепочек прототипов для наследования. Прототипальное наследование - это все объекты. Объекты наследуют свойства от других объектов. В прототипальном наследовании вместо определения структуры через класс вы просто создаете объект. Затем этот объект повторно используется новыми объектами. Экземпляры обычно создаются с помощью заводских функций или метода Object.create(). Экземпляры могут быть составлены из множества различных объектов, что позволяет легко избирательное наследование. Он более гибкий, чем классический наследование. Любой существующий объект может стать классом, из которого будут создаваться дополнительные объекты. Это удобно, когда ваши объекты предлагают несколько наборов сервисов и / или они претерпевают много изменений состояния до того, как ваша программа дойдет до точки, где требуется наследование.

Источник: http://net-informations.com/js/iq/inhe.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector