![]() |
ООП: (зажмурившись) ммм.. ИнХерИтАнс..
всей душой и телом приветствую любителей глубокого флеш-программирования на этом скромном форуме. вашему вниманию предлагается небольшая задача. она совсем простая: нужно всего лишь ознакомиться со следующим кодом и не задумываясь ответить на пару пустячковых вопросов. итак, код в студию:
Код:
function SuperClass() {1) какую строчку (всего одну) нужно добавить в этот незатейливый код, чтобы методы f1() и f2() могли быть вызваны и для объектов класса SubClass? 2) совсем просто: в чем различия реализации методов f1(), f2(), f3()? 3) черт, только сейчас заметил: если удалить Код:
SubClass.prototype.__constructor__ = SuperClass;Первому ответившему на все вопросы верно будет присвоено звание глубокого флеш-программиста и памятный значок с дарственной надписью "Я люблю ПротивныеТипы". ЗЫ пользователи ||||||||||, lexass, Baltika, DeliMiter, Nox Noctis к участию не допускаются. ЗЗЫ просьба не воспринимать слишком серьезно -- все равно призов на всех не хватит. |
пункт 1:
ты хочешь, чтобы в outpute было вот это? SuperClass constructor called --------------- f1 called f2 called f3 called ****************************** SubClass constructor called --------------- f1 called f2 called f3 called Так? |
ты б мысль не заканчивал на полуслове. и еще: раз уж взялся за задачку, то, пожалуйста, с объяснениями и поподробней, да.
|
1. Я бы написал все это так:
Код:
function SuperClass() {3. Эта строчка нихрена не значит. |
Знаешь что чувак!
Такой попсы я давно не видел!!! Вот те скрипт: function SuperClass() { trace("SuperClass constructor called"); } SuperClass.prototype.__proto__.f1 = function() { trace("f1 called"); }; SuperClass.prototype.f2 = function() { trace("f2 called"); }; function SubClass() { trace("SubClass constructor called"); } SuperClass.prototype.f3 = function() { trace("f3 called"); }; SubClass.prototype = SuperClass.prototype; obj = new SuperClass(); trace("---------------"); obj.f1(); obj.f2(); obj.f3(); trace("******************************"); obj2 = new SubClass(); trace("---------------"); obj2.f1(); obj2.f2(); obj2.f3(); А вот те ссылка на самый простой справочник на эту тему!!! |
Цитата:
Цитата:
Цитата:
и вообще, Визард, почему я тебя не включил в список досрочно дисквалифицированных? |
Теперь ответь мне!
Книжек надо больше читать! Фигня какая-то, а не скрипт! Посмотри на ссылке создание объектов! |
2K WebStudio
ага, вот ты-то мне и нужен. ты не ответил ни на один из поставленных вопросов и, более того, породил у меня новые. 1) какую смысловую нагрузку несет следующая запись: SubClass.prototype = SuperClass.prototype; 2) почему ты определяешь методы так по-разному: Цитата:
Цитата:
|
Делаю это отдельно т.к. так меньше оперативки жрёт!
Кажется, там это написано!!! А без этой строки, естественно ничего не пашет! |
вот я сейчас пытаюсь для себя решить: ты намеренно флудишь или действительно не понимаешь, вообще о чем идет речь.
либо внимательно прочти первое сообщение и попытайся ответить на поставленные вопросы, либо не засоряй эфир. + дополнительные вопросы повисли: 1) какую смысловую нагрузку несет следующая запись: SubClass.prototype = SuperClass.prototype; 2) почему ты определяешь методы так по-разному: -------------------------------------------------------------------------------- SuperClass.prototype.__proto__.f1 = function() { trace("f1 called"); }; -------------------------------------------------------------------------------- и -------------------------------------------------------------------------------- SuperClass.prototype.f2 = function() { trace("f2 called"); }; -------------------------------------------------------------------------------- |
| Часовой пояс GMT +4, время: 09:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.