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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.07.2003, 21:16
Fireworm вне форума Посмотреть профиль Отправить личное сообщение для Fireworm Посетить домашнюю страницу Fireworm Найти все сообщения от Fireworm
  № 1  
Fireworm

Регистрация: Feb 2003
Сообщений: 16
По умолчанию ООП в As

Хочу сделать следующее: описать свой класс, со своими членами и функциями, а затем создать массив объектов этого класса. Что-то вроде этого
Код:
ar = new Array();
for (i=0; i< n; i++){
   ar[i] = new MyClass();
}
Позволяет ли объектная модель AS делать подобные вещи, и если да, то как?

Спасибо.

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

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

Старый 11.07.2003, 02:37
C2Plus вне форума Посмотреть профиль Отправить личное сообщение для C2Plus Посетить домашнюю страницу C2Plus Найти все сообщения от C2Plus
  № 3  
C2Plus
  акула
 
Аватар для C2Plus

Регистрация: Mar 1999
Адрес: не проживает.
Сообщений: 2,077
Отправить сообщение для C2Plus с помощью ICQ
function MyClass(){
this.myProp = 1;
this.myMethod = function (){
}
}


базовое описание класса.

более рациональное создание методов:

function MyClass(){
this.myProp = 1;
}

MyClass.prototype.myMethod = function(){
}
__________________
[околостильные заметки: 1, 2, 3, 4, 5]
[битвы титаников:пиксельная (весело)]

Старый 11.07.2003, 11:44
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 4  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) C2Plus

более рациональное создание методов:
MyClass.prototype.myMethod = function(){
}
Колин Мук в своей последней книженции этот "способ" вообще называет единственно верным, а все остальные возможные - обусловленными несовершенством AS.

2Fireworm для работы с массивом, например:
Код:
function MyClass(a) {
	this.a = a;
	this.b = "asd";
}
MyClass.prototype.getA = function() {
	_root.a = this.a;
};
//*****************************
var i;
ar = new Array();
for (i=0; i<5; i++) {
	ar[i] = new MyClass(i);
}
ar[3].getA();
trace(a);
trace(ar[3].b);
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!

Старый 11.07.2003, 11:54
Fireworm вне форума Посмотреть профиль Отправить личное сообщение для Fireworm Посетить домашнюю страницу Fireworm Найти все сообщения от Fireworm
  № 5  
Fireworm

Регистрация: Feb 2003
Сообщений: 16
Тогда, расскажите пожалуйста (прочитать негде, ибо книжек нет, а в хелпе это как-то туманно описанно), для чего при определении метода использовать prototype, и почему не лучше вместо
Код:
MyClass.prototype.getA = function() {
	_root.a = this.a;
};
написать
Код:
 MyClass.prototype.getA = function() {
	 return this.a;
};
А затем использовать
Код:
mm = new MyClass('ss');
trace(mm.getA)
?

И еще вопрос, получается что класс описывается, при описании конструктора? Т.е. не надо как-то описывать сам тип MyClass?

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

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) Fireworm
почему не лучше вместо
Код:
MyClass.prototype.getA = function() {
	_root.a = this.a;
};
написать
Код:
 MyClass.prototype.getA = function() {
	 return this.a;
};
да неее, дружище. я это для примера только написал. просто недавно на форуме про подобную фигню спрашивали - вот в мозгу и отпечаталось. просто пример метода - не бери в голову
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!

Старый 11.07.2003, 12:27
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 7  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
По умолчанию про ООП

на русском:
http://projects2003.by.ru/web2/action/ch12_05.htm
http://www.vmstudio.com/arch/oopF5_ru.zip
на английском:
http://www.macromedia.com/devnet/mx/...asdg2_ch12.pdf
на флашере:
http://www.flasher.ru/forum/showthre...ight=prototype
http://www.flasher.ru/forum/showthre...ight=prototype
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!

Старый 11.07.2003, 12:30
Fireworm вне форума Посмотреть профиль Отправить личное сообщение для Fireworm Посетить домашнюю страницу Fireworm Найти все сообщения от Fireworm
  № 8  
Fireworm

Регистрация: Feb 2003
Сообщений: 16
Огромное спасибо!!! То, что нужно!!!

Старый 11.07.2003, 12:37
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 9  
iLoveYou
wanted

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

Создать новую тему   Часовой пояс GMT +4, время: 12:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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