Я пытался правильно достичь наследования и инкапсуляции в JavaScript, как на языке на основе класса, таком как C#. < /p>
Уродливая часть заключается в том, что защищенные участники имеют несколько копий в частных экземплярах, которые доступны только через закрытие, и у меня нет идеи, кроме обновления этих участников к частным экземплярам.
Если это возможно, я хочу избавиться как от передачи , так и передачи в моем коде function.extend .
обновление
Для людей, которые заинтересованы в цитировании или исследовании, вот репозиторий исходного кода:
и частные модификаторы не так сложно достичь; Но с наследством, защищенная значительно сложна. Тем не менее, это не рекомендуется связано с JavaScript, большинство статей, которые я прочитал, говорится в префиксе со специальным персонажем и документируйте его . < /p>
Но, кажется, я настойчив, чтобы сделать JavaScript для моделирования языков на основе классов. Я украл эту идею и реализован на моем пути, код находится в задней части этого поста. < /p>
Идея сцены состоит в том, чтобы установить более высокую доступность с более высоким прототипом и получить доступ к самой высокой с закрытием.
Скажите, что у нас есть три прототипа A , d и g , он выглядит как
The closure for accessing the private instance, это ['' '] . Требуется аргумент, который предназначен для определения класса. Владелец модификаторов - это просто идентификатор класса, названный y in function.extend и _ В тестовом коде его не следует выявлять вне объявления класса. Он также используется в качестве ярлыка этого ['' '] . < /p>
на самом деле является не только базовым конструктором, но и частным создателем экземпляров. Это создает частные экземпляры и обновляет это ['' '] для каждого конструктора с наследством, поэтому его всегда следует вызывать в конструкторах. < /p>
Хотя частный экземпляр будет иметь доступ общедоступных членов, его не следует использовать для их изменения, поскольку это ['' '] < /code> не гарантируется, что при выходе к общественным членам. Но доступ к частному экземпляру; Недавние вспоминают о последнем доступном частном экземпляре и обновите охраняемых участников, если они изменяются. < /p>
Мой вопрос: как я могу избавиться от такого рода освежающих охраняемых членов? Существуют ли лучшие идеи для достижения инкапсуляции более реалистичной? < /p> < /li>
< /ul>
Я пытался правильно достичь наследования и инкапсуляции в JavaScript, как на языке на основе класса, таком как C#. < /p>
Уродливая часть заключается в том, что защищенные участники имеют несколько копий в частных экземплярах, которые доступны только через закрытие, и у меня нет идеи, кроме обновления этих участников к частным экземплярам.
Если это возможно, я хочу избавиться как от передачи , так и передачи в моем коде function.extend . [*] обновление [/b] Для людей, которые заинтересованы в цитировании или исследовании, вот репозиторий исходного кода:
https://github.com/kenkins/function.extend>
[code]public[/code] и частные модификаторы не так сложно достичь; Но с наследством, защищенная значительно сложна. Тем не менее, это не рекомендуется связано с JavaScript, большинство статей, которые я прочитал, говорится в префиксе со специальным персонажем и документируйте его . < /p>
Но, кажется, я настойчив, чтобы сделать JavaScript для моделирования языков на основе классов. Я украл эту идею и реализован на моем пути, код находится в задней части этого поста. < /p>
Идея сцены состоит в том, чтобы установить более высокую доступность с более высоким прототипом и получить доступ к самой высокой с закрытием.
Скажите, что у нас есть три прототипа A , d и g , он выглядит как
[img]https://i.sstatic.net/bhcsI.png[/img]
The closure for accessing the private instance, это ['' '] . Требуется аргумент, который предназначен для определения класса. Владелец модификаторов - это просто идентификатор класса, названный y in function.extend и _ В тестовом коде его не следует выявлять вне объявления класса. Он также используется в качестве ярлыка этого ['' '] . < /p>
[code]_['base'][/code] на самом деле является не только базовым конструктором, но и частным создателем экземпляров. Это создает частные экземпляры и обновляет это ['' '] для каждого конструктора с наследством, поэтому его всегда следует вызывать в конструкторах. < /p>
Хотя частный экземпляр будет иметь доступ общедоступных членов, его не следует использовать для их изменения, поскольку это ['' '] < /code> не гарантируется, что при выходе к общественным членам. Но доступ к частному экземпляру; Недавние вспоминают о последнем доступном частном экземпляре и обновите охраняемых участников, если они изменяются. < /p>
Мой вопрос: как я могу избавиться от такого рода освежающих охраняемых членов? Существуют ли лучшие идеи для достижения инкапсуляции более реалистичной? < /p> < /li> < /ul>