Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   ООП: (зажмурившись) ммм.. ИнХерИтАнс.. (http://www.flasher.ru/forum/showthread.php?t=50595)

iLoveYou 31.10.2003 18:59

Re: Повторный ответ на первый вопрс :)
 
Цитата:

в конструкторе говорите? :) это как интерестно? :)
вот вариант, но метод f2 унаследовать всеровно не получится :)
да не в конструкторе, а через его вызов. блин, уже все сам рассказал ;)
Код:

SubClass.prototype.constructor.prototype.__proto__ = SuperClass.prototype.constructor.prototype;
вот к чему, ёпть, приводят занятия глубоким флеш-программированием :D
Цитата:

мой ответ - решений нет :D можно только клонировать функцию, как я предложил в моём первом ответе:
SubClass=SuperClass;
*плача* а как же ИнХерИтАнс???

Techmaker 31.10.2003 18:59

Ответ на третий вопрос :)
 
Цитата:

Оригинал написал(а) Sergey"iLoveYou"
SubClass.prototype.__constructor__ = SuperClass;
это просто обманка для флэшеров :)
ну или с технической точки зрения "SubClass.prototype.__constructor__" является копией класса/функции "superClass" , и по-этому ни каким образом не затрагивает вызов метода "f3" у класса/функции "subClass".
Вот так :) ;)

iLoveYou 31.10.2003 19:08

Re: Ответ на третий вопрос :)
 
Цитата:

Оригинал написал(а) Techmaker

это просто обманка для флэшеров :)
ну или с технической точки зрения "SubClass.prototype.__constructor__" является копией класса/функции "superClass" , и по-этому ни каким образом не затрагивает вызов метода "f3" у класса/функции "subClass".
Вот так :) ;)

топик внимательно читал? на третий вопрос мы уже месяц назад ответили. :cool:
Цитата:

trace(SuperClass.prototype.__proto__ == Object.prototype);
так какой там копией является SubClass.prototype.__constructor__?

Techmaker 31.10.2003 19:13

этого ты хотел? :)
SubClass=SuperClass.prototype.constructor;

Techmaker 31.10.2003 19:18

Цитата:

Оригинал написал(а) Sergey"iLoveYou"
так какой там копией является SubClass.prototype.__constructor__?
trace(SubClass.prototype.__constructor__ == SuperClass()); :D

Штрек 31.10.2003 19:27

Цитата:

Оригинал написал(а) Techmaker
этого ты хотел? :)
SubClass=SuperClass.prototype.constructor;

Да писал я уже это.
Это тож самое, что и
SubClass=SuperClass

"кот Егор?" - да описался я /или описался/ :D -
катяра Егор :D

iLoveYou 31.10.2003 21:26

2 Techmaker не нужно гАдать -- нужно дУмать. и еще: ООПе -- это не поле для шуток.
2 Штрек c __constructor__ устранил непонятки? если нет, то тебе сюда:
http://www.constructor.ru

Штрек 01.11.2003 01:21

http://www.constructor.ru/
- ты там что мастером? ;)
Я по серьёзному хотел разобраться.
Меня из всех этих заморочек с наследованием интересует -
как, мать ё, из кнопки увидеть мувик.
Кладёшь мувик во все кадры кнопки и хоть кнопка
инстанс имеет - мувика не видать. Мож через классы замутить.

__constructor__ -- штука как бы недокументированная, но работает, как видишь. чтоб не нагружать тебя словесным бредом:
a=obj2.__constructor__; --> Ctrl+Alt+V

А можно чуть словесного бреду?

Типа - constructor - блок кода, необходимый для инициализации объектов класса.
__constructor__ - ??????????????

старина смерть 01.11.2003 07:04

Цитата:

Оригинал написал(а) Sergey"iLoveYou"

а вот это неправильная позиция :rolleyes:
нуран не сдался, он даже не пытался.


Ты прав. У меня сейчас с учёбой проблемы. Я даже не смотрел твой код. Категорически времени нет.

iLoveYou 01.11.2003 22:24

Цитата:

Оригинал написал(а) Штрек

А можно чуть словесного бреду?
Типа - constructor - блок кода, необходимый для инициализации объектов класса.
__constructor__ - ??????????????

дело в том, что при создании объекта определенного класса ему (объекту) присваиваются различные свойства, среди которых стоит особо выделить __proto__ и __constructor__. __proto__ есть ссылка на свойство prototype конструктора данного класса. __constructor__ есть ссылка на саму функцию конструктора. таким образом, если мы пишем SubClass.prototype.__constructor__=SuperClass, это означает, что каждый объект класса SubClass унаследует свойство __constructor__, равным функции конструктора класса SuperClass, и при создании объекта класса SubClass "по ссылке" (ах, какие сладкие слова!) должен быть вызван конструктор класса SuperClass, но так как макромедия не думала, что мы так будем извращаться, то вызов этот приходится организовывать "принудительно", в чем и есть фактически суть первого задания ;)

в подтверждение свойства __constructor__:
a=obj2.__constructor__; --> Ctrl+Alt+V // Variable _level0.a = [function 'SubClass']

ЗЫ дорогие друзья, в другом топе мне было поставлено в вину, что здесь я говорю о наследовании так, а на практике реализую по-другому. не стоит так серьезно воспринимать это задание, так как его цель --- обучение, а не практическое использование предложенного кода.

Штрек 02.11.2003 00:47

Давай ещё чего нить новенького.
Ждём!
Какой нить прототипчик, которого на Лаер51 нету. ;)

iLoveYou 02.11.2003 00:51

Цитата:

Оригинал написал(а) Штрек
Давай ещё чего нить новенького.
Ждём!
Какой нить прототипчик, которого на Лаер51 нету. ;)

не понЯл. :rolleyes:
а задание доделать?

ЗЫ все понятно теперь?

Штрек 02.11.2003 06:05

Давай на таком варианте остановимся :D

function SubClass() {
trace("SubClass constructor called");
this.ttt=SuperClass;
this.ttt();
delete this.ttt;
}

Я понимаю, что конструктор SuperClass
надо вызывать из function SubClass(),
но как одной строчкой всё организовать
в голову не лезет.
Мож завтра просветлеет.

iLoveYou 02.11.2003 11:22

Цитата:

Оригинал написал(а) Штрек

Я понимаю, что конструктор SuperClass
надо вызывать из function SubClass(),
но как одной строчкой всё организовать
в голову не лезет.
Мож завтра просветлеет.

молодец. RTFM super

Techmaker 02.11.2003 14:38

Код:

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("******************************");
delete SubClass.prototype.__constructor__();
obj2=new SubClass();
trace("---------------");
obj2.f1();
obj2.f2();
obj2.f3();

:)

старина смерть 02.11.2003 15:01

Извините за offtop
 
Всем привет. Все работаете... :)
Лёха новая аватора? :)

А мне просто влом. Я редизайн своего сайта уже два дня делаю. Со мной такого ни когда не было. Самое большее - часов 10. :)

старина смерть 02.11.2003 15:07

http://www.layer51.com

Штрек 02.11.2003 15:32

Цитата:

Оригинал написал(а) старина смерть
http://www.layer51.com
Ссыла известная.
Чего то я тебя там не встречал.
Мож ты маскируешься? :D

старина смерть 02.11.2003 15:38

Non товарсч. Я сейчас на ultrashock переезжаю:) Начинаю:)

Штрек 02.11.2003 16:09

Цитата:

Оригинал написал(а) Techmaker
[code]}

delete SubClass.prototype.__constructor__();
CODE]

Тоже что и
SubClass.prototype.__constructor__();

старина смерть 02.11.2003 16:43

sorry offtop
 
Вложений: 1
Сергей зацени

iLoveYou 02.11.2003 16:54

Re: Извините за offtop
 
Цитата:

Оригинал написал(а) старина смерть
Всем привет. Все работаете... :)
Лёха новая аватора? :)
А мне просто влом. Я редизайн своего сайта уже два дня делаю. Со мной такого ни когда не было. Самое большее - часов 10. :)

извините за оффтоп? в этом топе все, сказанное тобой, есть оффтоп. когда нечего сказать по теме, лучше не флудить. с этой точки зрения Пушистик и 2кВебСтудио поступили более обдуманно -- вовремя покинули сцену. надеюсь, ты меня понял.

Techmaker, не смеши меня. :) хотя смеяться полезно -- уже знаю.
Цитата:

RTFM super
жаль, что вы, друзья, не обратили внимание на эту подсказку.

Techmaker 02.11.2003 23:01

Цитата:

Оригинал написал(а) Штрек
Тоже что и
SubClass.prototype.__constructor__();

ага, точна :)

Techmaker 02.11.2003 23:23

а задача под какой флэш? :)

iLoveYou 02.11.2003 23:31

Цитата:

Оригинал написал(а) Techmaker
а задача под какой флэш? :)
лучше б что умное спросил :mad:
можешь попробовать в семерке. :rolleyes:

Штрек 03.11.2003 06:32

Всё! Больше от меня ничего не дождёшься
function SubClass() {
trace("SubClass constructor called");
this.__proto__.__constructor__();
}

Techmaker 03.11.2003 16:34

2Sergey"iLoveYou"
просто спросил
2Штрек
всеровно не так как хочет Sergey"iLoveYou" :)

Штрек 03.11.2003 17:01

Что значит не то?
Если это не то - надо переформулировать первый вопрос.

iLoveYou 03.11.2003 17:06

Вложений: 1
на этой прискорбной минуте мы заканчиваем наше шоу.
я весьма разочарован тем, что эта тема никому не интересна.
Штрек & Techmaker, спасибо за посильное участие.
медаль? хрен с ней. отдайте нурану и пушистику, а еще 2квебстудио тоже заслужил свою порцию пончиков.
кому нужно -- в аттаче решение с пояснением.
кланяюсь.


ЗЫ f3 я выкинул за ненадобностью, дабы не загружать мозГ ваш.

Techmaker 03.11.2003 17:12

надеюсь ты получше раскажешь нам о Super()?

iLoveYou 03.11.2003 17:43

Цитата:

Оригинал написал(а) Techmaker
надеюсь ты получше раскажешь нам о Super()?
третий раз повторяю для слабослышащих:
RTFM super
:)

Techmaker 03.11.2003 18:37

всеровно я такие извраты использовать небуду :)

iLoveYou 03.11.2003 18:53

Цитата:

Оригинал написал(а) Techmaker
всеровно я такие извраты использовать небуду :)
знать и использовать -- разные вещи.

Techmaker 03.11.2003 19:08

знания всегда полезны :)

Штрек 04.11.2003 01:06

Я ХЕЛП шестёрошный изучал по мере надобности
и на оператор super() наткнулся только теперь/с подачи
Sergey"iLoveYou"/. Век живи - век учись. ;)

Nox Noctis 17.11.2003 12:56

Re: ООП: (зажмурившись) ммм.. ИнХерИтАнс..
 
вот вам :))
Код:

a = function () { };
b = new a();
b.__proto__ = b;
b.c = new a();

Цитата:

Оригинал написал(а) Sergey"iLoveYou"
пользователи ||||||||||, lexass, Baltika, DeliMiter, Nox Noctis к участию не допускаются.
кажется месяц назад нас опять опустили :)
ччерт, а я забыл где топор войны закопал...

greyshaman 17.11.2003 23:30

эээ... господам с иконостаса велено молчать

iLoveYou 17.11.2003 23:46

Цитата:

Оригинал написал(а) Nox Noctis
кажется месяц назад нас опять опустили :)
более того, справка соответствующая имеется =)))
Цитата:

Оригинал написал(а) greyshaman
эээ... господам с иконостаса велено молчать
теперь уже можно -- призы-то все раздали ;)

Nox Noctis 18.11.2003 00:58

Цитата:

Оригинал написал(а) greyshaman
эээ... господам с иконостаса велено молчать
а вы не размахивайте так кадилом, не размахивайте :)))

Штрек 18.11.2003 01:52

Ну вот почти все умники собрались -
напишите чего нить по AS2 на бис ;)


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

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