![]() |
prototype э-ээ..%|
Зачем он нужен ? Можно ведь в объявлении класса присвоить все методы и свойства без всяких
прототипов и уже у готовых объектов их вызывать и изменять. Может в двух словах кто-то скажет, что даёт объявление методов через prototype? Прошу не смияцца, если это слишком ламерскый вопрос...я толька разбираюсь с классами. |
прототип - это шаблон. что такое шаблон - знаем? :)
прототип объектов класса нужен для того чтобы не приходилось В КАЖДЫЙ объект этого класса копировать все методы и свойства, даже если они у всех объектов этого класса одинаковые... когда метод или свойство записано в прототип, они НЕ КОПИРУЮТСЯ в каждый объект - они НАСЛЕДУЮТСЯ от класса... при обращении методу/свойству объекта сначала просматривается сам объект на наличие такого метода/свойства, если такого "собсвенного" метода/свойства в этом объекте нет, то просматривается прототип. иллюстрация вышесказанному: Код:
cls1 = function (name) {1. вызвали метод наследственный от класса 2. создали прямо в объекте метод и вызвали 3. удалили метод из объекта и вызвали его снова то есть метода в самом объекте нет, но он вызывается по механизму наследования |
Re: prototype э-ээ..%|
[quote]Оригинал написал(а) Zergy
[b]Зачем он нужен ? Можно ведь в объявлении класса присвоить все методы и свойства без всяких прототипов и уже у готовых объектов их вызывать и изменять. -------------------------------------------------------- Можно. но если не ты писал Класс !!! Дапустим класс Button, Object как ты добавиш новые свойства и методы?? Удачи в ООП :) |
Re: Re: prototype э-ээ..%|
Цитата:
стандартные классы можно модифицировать точно так же |
Re: Re: Re: prototype э-ээ..%|
Цитата:
|
| Часовой пояс GMT +4, время: 04:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.