прототипы по сравнению с [закрытыми] классами

Если вам нужно использовать встроенный блок, убедитесь, что вы пишете HTML без пробелов.

это не работает:

<div>Red</div>
<div>Green</div>
<div>Blue</div>
<div>Yellow</div>

это работает:

<div>Red</div><div>Green</div><div>Blue</div><div>Yellow</div>
10
задан Marcin 26 October 2008 в 21:36
поделиться

3 ответа

Один интересный бит - то, что легко заставить основанный на прототипе язык действовать OO, но трудно заставить язык OO действовать основанный на прототипе.

Не совсем ясно, на что OO, поскольку прототип был бы похож кроме состава по сравнению с наследованием, как Вы упоминаете.

Опытный язык делает сложное поведение наследования легким. Можно реализовать множественное наследование, подобное mixin поведение, или просто привередливо выбрать то, что Вы хотите от одного объекта добавить к другому.

Упоминания статьи Википедии: "Защитники основанного на прототипе программирования часто утверждают, что основанные на классах языки поощряют модель разработки, которая фокусируется сначала на таксономии и отношениях между классами. Напротив, основанное на прототипе программирование рассматривается как поощрение программиста сфокусироваться на поведении некоторого набора примеров и только более позднего беспокойства о классификации этих объектов в типичные объекты, которые позже используются способом, подобным классам".

Но это вовсе не значит опытная парадигма является всеми профессионалами и никакими недостатками. Если OO более строго, это - потому что это принимает решение быть. Я вижу, где вся эта гибкость могла бы получить Вас в проблему, если Вы не осторожны.

13
ответ дан 3 December 2019 в 21:24
поделиться

Прототипы являются формой наследования, это просто, который объекты наследовали атрибуты и поведение непосредственно от других объектов, вместо того, чтобы получить их атрибуты и поведение от их класса, который наследовался другим классам.

Для примеров, выезд любой объектно-ориентированный код на основанном на прототипе языке как, например, JavaScript.

3
ответ дан 3 December 2019 в 21:24
поделиться

Для тех, кто интересуется, NewtonScript был (есть) двойным языком: у вас были прототипы и у вас были классы. Вы можете выбрать наследование от класса, от прототипа или от обоих.

1
ответ дан 3 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: