Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.10.2003, 18:12
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 1  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
По умолчанию ООП: (зажмурившись) ммм.. ИнХерИтАнс..

всей душой и телом приветствую любителей глубокого флеш-программирования на этом скромном форуме. вашему вниманию предлагается небольшая задача. она совсем простая: нужно всего лишь ознакомиться со следующим кодом и не задумываясь ответить на пару пустячковых вопросов. итак, код в студию:
Код:
function SuperClass() {
	trace("SuperClass constructor called");
	this.__proto__.f1 = function() {
		trace("f1 called");
	};
	this.f2 = function() {
		trace("f2 called");
	};
}
function SubClass() {
	trace("SubClass constructor called"); 
}
SuperClass.prototype.__proto__.f3 = function() {
	trace("f3 called");
};
SubClass.prototype.__constructor__ = SuperClass;
obj = new SuperClass();
trace("---------------");
obj.f1();
obj.f2();
obj.f3();
trace("******************************");
obj2=new SubClass();
trace("---------------");
obj2.f1();
obj2.f2();
obj2.f3();
Ну а теперь вопросы:
1) какую строчку (всего одну) нужно добавить в этот незатейливый код, чтобы методы f1() и f2() могли быть вызваны и для объектов класса SubClass?
2) совсем просто: в чем различия реализации методов f1(), f2(), f3()?
3) черт, только сейчас заметил: если удалить
Код:
SubClass.prototype.__constructor__ = SuperClass;
метод f3() все равно вызывается; к чему бы это?
Первому ответившему на все вопросы верно будет присвоено звание глубокого флеш-программиста и памятный значок с дарственной надписью "Я люблю ПротивныеТипы".

ЗЫ пользователи ||||||||||, lexass, Baltika, DeliMiter, Nox Noctis к участию не допускаются.

ЗЗЫ просьба не воспринимать слишком серьезно -- все равно призов на всех не хватит.

Старый 27.10.2003, 21:58
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 2  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
пункт 1:
ты хочешь, чтобы в outpute было вот это?
SuperClass constructor called
---------------
f1 called
f2 called
f3 called
******************************
SubClass constructor called
---------------
f1 called
f2 called
f3 called
Так?

Старый 27.10.2003, 22:16
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 3  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
ты б мысль не заканчивал на полуслове. и еще: раз уж взялся за задачку, то, пожалуйста, с объяснениями и поподробней, да.

Старый 27.10.2003, 23:04
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 4  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
1. Я бы написал все это так:
Код:
function SuperClass() {
	trace("SuperClass constructor called");
	this.__proto__.f1 = function() {
		trace("f1 called");
	};
	this.f2 = function() {
		trace("f2 called");
	};
}
function SubClass() {
	trace("SubClass constructor called"); 
}
SubClass.prototype.__proto__.f3 = function() {
	trace("f3 called");
};
SubClass.prototype = new SuperClass();
obj = new SuperClass();
trace("---------------");
obj.f1();
obj.f2();
obj.f3();
trace("******************************");
obj2=new SubClass();
trace("---------------");
obj2.f1();
obj2.f2();
obj2.f3();
2. реализация методов f1(), f2(), f3() видна из записи.
3. Эта строчка нихрена не значит.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 27.10.2003, 23:13
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 5  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Знаешь что чувак!
Такой попсы я давно не видел!!!
Вот те скрипт:
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();

А вот те ссылка на самый простой справочник на эту тему!!!

Старый 27.10.2003, 23:17
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 6  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
SubClass.prototype = new SuperClass();
гы заменять строчки нельзя нужно только добавить.
Цитата:
2. реализация методов f1(), f2(), f3() видна из записи.
ну да, видна, но тут нужны пояснения
Цитата:
3. Эта строчка нихрена не значит.
емкая, конечно, фраза. но ответа на поставленный вопрос она не дает.
и вообще, Визард, почему я тебя не включил в список досрочно дисквалифицированных?

Старый 27.10.2003, 23:21
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 7  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Теперь ответь мне!
Книжек надо больше читать!
Фигня какая-то, а не скрипт!
Посмотри на ссылке создание объектов!

Старый 27.10.2003, 23:50
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 8  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
2K WebStudio
ага, вот ты-то мне и нужен.
ты не ответил ни на один из поставленных вопросов и, более того, породил у меня новые.
1) какую смысловую нагрузку несет следующая запись:
SubClass.prototype = SuperClass.prototype;
2) почему ты определяешь методы так по-разному:
Цитата:
SuperClass.prototype.__proto__.f1 = function() {
trace("f1 called");
};
и
Цитата:
SuperClass.prototype.f2 = function() {
trace("f2 called");
};
ЗЫ книжками отмазываться не нУно.

Старый 27.10.2003, 23:55
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 9  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Делаю это отдельно т.к. так меньше оперативки жрёт!
Кажется, там это написано!!!
А без этой строки, естественно ничего не пашет!

Старый 28.10.2003, 00:05
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 10  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
вот я сейчас пытаюсь для себя решить: ты намеренно флудишь или действительно не понимаешь, вообще о чем идет речь.
либо внимательно прочти первое сообщение и попытайся ответить на поставленные вопросы, либо не засоряй эфир.
+ дополнительные вопросы повисли:
1) какую смысловую нагрузку несет следующая запись:
SubClass.prototype = SuperClass.prototype;
2) почему ты определяешь методы так по-разному:
--------------------------------------------------------------------------------
SuperClass.prototype.__proto__.f1 = function() {
trace("f1 called");
};
--------------------------------------------------------------------------------
и
--------------------------------------------------------------------------------
SuperClass.prototype.f2 = function() {
trace("f2 called");
};
--------------------------------------------------------------------------------

Старый 28.10.2003, 09:02
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 11  
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
посмотрим, подумаем. Я из клубы - дома сейчас модема нет. Скопирую подумаю. Сейчас...
__________________
flash/flex/unity

Старый 28.10.2003, 16:25
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 12  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
Sergey"iLoveYou", эт действительно трабла? ил ты решил попонтоватся и устроить экзамен тут всем по ООП?...
ЗЫ: оч.смешно со стороны...
__________________
Portfolio

Старый 28.10.2003, 18:01
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 13  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) Пушистик
Sergey"iLoveYou", эт действительно трабла? ил ты решил попонтоватся и устроить экзамен тут всем по ООП?...
ЗЫ: оч.смешно со стороны...
ты, по всей видимости, очень невнимательно читал мой первый пост в этом треде. это не трабла, это не понт, это не экзамен, это не шутка. это форма обучения -- я бы так сказал. если хочешь принять участие -- ю а велкам; в противном случае, если тебе это неинтересно или слабО, не флудь здесь понапрасну, ограничься одним неосознанным высказыванием.

Старый 28.10.2003, 18:49
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 14  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
Sergey"iLoveYou", у тебя Очень завышенная самооценка! ты пытешься строить из себя некого "флэш-философа", думая что поразишь всех своими ответами, юзая при этом всякие клише...
думаешь что сможешь поставить всех на место и никто ничего не сможет тебе возразить...!
ЗЫ: Будешь говорить такие фразы целый год - можешь за умного сойти...
__________________
Portfolio

Старый 28.10.2003, 19:14
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 15  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) Пушистик
Sergey"iLoveYou", у тебя Очень завышенная самооценка! ты пытешься строить из себя некого "флэш-философа", думая что поразишь всех своими ответами, юзая при этом всякие клише...
думаешь что сможешь поставить всех на место и никто ничего не сможет тебе возразить...!
ЗЫ: Будешь говорить такие фразы целый год - можешь за умного сойти...
1) да, у меня гипертрофированная самооценка
2) да, я пытаюсь даже к флешу подойти отчасти по-философски
3) да, я пытаюсь поразить всех умными высказываниями
4) да, я юзаю клише
5) да, я ставлю ламерков, подобных тебе, на место, и они не могут ничего конструктивно возразить
6) если я целый год буду объяснять людям, что лучше высказываться по предложенной теме, а не обсуждать меня-любимого, то я скорее сойду с ума, чем буду казаться умным шибко
7) подобных высказываний я выслушал за жизнь очень много -- судьба такая.


Последний раз редактировалось iLoveYou; 28.10.2003 в 19:16.
Создать новую тему   Часовой пояс GMT +4, время: 12:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.