äöàòü ïðè÷èí íå ëþáèòü AS3 - Flash Zone Forum

IPB

Çäðàâñòâóéòå, ãîñòü ( Âõîä | Ðåãèñòðàöèÿ )

> äöàòü ïðè÷èí íå ëþáèòü AS3, AVM1 ïðîòèâ AVM2
chingachgoog
ñîîáùåíèå 1.03.2009 - 01:15
Ñîîáùåíèå #1


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



 ñâîå âðåìÿ â ñåòè ïîïàëàñü ïðåçåíòàöèÿ "50 ïðè÷èí ïåðåéòè íà AS3", òàê, ÷òî òóò áóäåò (ñî âðåìåíåì) íå÷òî âðîäå êîíòðîòâåòà, à òàêæå ðàçáîð îòëè÷èé AVM1 (AS1/AS2) îò AVM2 (AS3).

(íå ñëåäóåò ñ÷èòàòü ýòîò òîïèê îòðèöàíèåì AVM2 è AS3. Õîðîøèé ôëåøåð äîëæåí óìåòü ïîíèìàòü ëþáîé êîä: îò êîäà â ñòèëå ôëåø-5 (íà îáúåêòàõ), äî êîäà AS3. Íî ÷òîáû õîðîøî â ÷åì-òî ðàçáèðàòüñÿ, íàäî çíàòü íå òîëüêî ñèëüíûå ñòîðîíû, íî è ñëàáûå, à òàêæå òùàòåëüíî ñêðûâàåìûå)

Èòàê, ïîåõàëè:

1) Àäîá ñîçíàòåëüíî (óìûøëåííî) ïîøëà íà ÑÄÅÐÆÈÂÀÍÈÅ ðàçâèòèÿ AVM1. Îò âåðñèè ê âåðñèè (ôëåø-ïëååðà) AVM1 ðàçâèâàëàñü. Íî àäîá âûïóñòèëà íîâûå ïðîäóêòû - îñíîâàííûå íà AVM2 (ôëåø-ðåäàêòîð-9 - îí æå CS3 è óæå CS4, ôëåêñû âñåõ ìàñòåé è àèð). Ðàçâèòèå AVM1 òîðìîçèòüñÿ, çàñòàâëÿÿ ïåðåõîäèòü ñîîáùåñòâî íà ïðîäóêòû ñ èñïîëüçîâàíèåì AVM2.
Íàïðèìåð, èíòåðïðåòàòîð AVM1 ìîæåò ñ÷èòûâàòü áàéò-êîäû íàçâàíèÿ ìåòîê êàäðà. Ò.å. â ñàìîì ÔÏ ýòà âîçìîæíîñòü ðåàëèçîâàíà. À âîò ðåàëèçàöèþ ýòîãî â AS1/2 àäîáîâöû äîáàâèòü "çàáûëè", õîòÿ äëÿ AVM2 ñ AS3 ýòî ñäåëàíî. È òàê âî ìíîãîì.

2) AS3 íå ñîõðàíèë ïðååìñòâåííîñòè ñ ïðåæíèìè âåðñèÿìè AS. Ýòî ÄÐÓÃÎÉ ÿçûê. Ñ äðóãèìè òðàäèöèÿìè è îñîáåííîñòÿìè ïðèìåíåíèÿ. Ïî ñóòè, òå, êòî çàõî÷åò è êîãî çàñòàâèò àäîá ïåðåéòè íà AVM2 áóäóò äîëæíû âûó÷èòü íîâûé ÿçûê.

3) AS3 èìååò íåçàìåòíûå, íî ôàòàëüíûå îòëè÷èÿ îò AS2. Íàïðèìåð, â òèïèçàöèè :Void è :void
Ïóñòÿ÷îê? Íî îò÷åãî ó ìàêðîìåäèè ñ êàæäûì îáíîâëåíèåì ÔÏ íå ñêàêàëè çàðåçåðâèðîâàííûå ñëîâà?

4) AS3 ãîðàçäî áîëåå ÍÅÃÈÁÊÈÉ (êàêîå èçäåâàòåëüñòâî íàä ñëîâî ôëåêñ), ÷åì AS1. Ýòî êàñàåòñÿ î÷åíü øèðîêîãî ñïåêòðà ñðåäñòâ ÿçûêà: íàñëåäîâàíèÿ, îáëàñòåé âèäèìîñòè, îáðàùåíèÿ ê îáúåêòàì, ôîðìàòà çàïèñè âî âíåøíèå ôàéëû è ò.ä. è ò.ï. (ñì. íèæå)

5) AS3 íå ïîçâîëÿåò ìåíÿòü ðîäèòåëåé êëàññà. AS1 äåëàåò ýòî ëåãêî, äèíàìè÷åñêè è â ëþáîå âðåìÿ.
Íàïðèìåð, ïîñëå ýòîãî:
Êîä
Video.prototype.__proto__=MovieClip.prototype

Ó îáúåêòà Âèäåî íà÷èíàþò ðàáîòàòü ìåòîäû ìóâèêëèïà òèïà swapDepths() è removeMovieClip() !!!

6) Êîä íà òàéìëàéíå
7) Íîâûé ñèíòàêñèñ ïàêåòîâ è êëàññîâ
8) Íåò duplicateMovieClip
9) Íåîáõîäèìîñòü äåñòðóêòîðîâ
10) Ìó÷åíèÿ ñ Sound
11) Âûäåëåíèå èñêóññòâåííûõ êëàññîâ
12) Ãðîìîçäêèé õåëï
13) Êàñòðàöèÿ ñîáûòèéíîé ìîäåëè
14) Ñìåøíîé onReleaseOutside
15) Çà÷åì â AS3 óáèëè arguments.caller
16) Êàê ñûïÿòñÿ ïåñî÷íèöû àäîáà
17) Âîñüìåðè÷íûé çàïðåò
á/í Îòêðîâåíèÿ ìèñòåðà Ëè èç àäîáà
18) Æåñòêèé override
19) Îãðàíè÷åíèÿ override
20) Óáîãèé super
21) À åñòü ëè ïîëèìîðôèçì?
22) Íåìíîãî îá ECMAScript
23) Îãðàíè÷åíèÿ òàéìëàéíà
24) Ãëîáàëüíûé îáúåêò è ãëîáàëüíàÿ âèäèìîñòü
25) Îíè óáèëè watch()...
26) Íåò ãëîáàëüíûõ ñîáûòèé
27) Êîìïèëÿòîð AVM2 íå îïòèìèçèðóåò êîä
28) valueOf ()
á/í Ïðî âåñ ÔÏ
29) Âèðòóàëèçàöèÿ òàéìëàéíà è áàãè ñ ýòèì ñâÿçàííûå
30) Èäèîòèçì Loader-à
31) "Ëåãêèå" ãëóáèíû.
32) Àâòîñîçäàíèå ïðîòîòèïîâ
33) allowDomain ó LocalConnection
34) Íåîïðàâäàâøèåñÿ íàäåæäû ïî ïîâîäó ðàñøàðåííûõ îáúåêòîâ
35) Ïðåîáðàçîâàíèå òèïà null ê ÷èñëàì
36) Çà÷åì buttonMode äëÿ ìóâèêëèïîâ?
37) Run-time îøèáêè
38) Îãðàíè÷åíèÿ ñ ðàáîòîé JavaScript
39) isDown ïî÷èëà â áîçå...

Ñîîáùåíèå îòðåäàêòèðîâàë chingachgoog - 1.07.2011 - 14:38


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
7 ñòðàíèö V  < 1 2 3 4 5 > »   
Îòêðûòü íîâóþ òåìó
Îòâåòîâ (40 - 59)
chingachgoog
ñîîáùåíèå 19.06.2009 - 14:02
Ñîîáùåíèå #41


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Æàëü, ÷òî âìåñòî ðàçáîðà ïóíêòîâ ïî ñóùåñòâó (èëè äîáàâëåíèÿ ñâîèõ), íà÷èíàåòñÿ ðàçáîð ëè÷íîñòåé. Âïðî÷åì â ñåòè ýòî îáû÷íîå ÿâëåíèå. sad.gif


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 14:20
Ñîîáùåíèå #42


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



Ðàçáèðàòü òî íå÷åãî, òåáå óæå âñå îáúÿñíèëè. ß ñåé÷àñ íàøåë áàã â ïðîåêòå íà ýéðå. Èñêàë ÷àñà äâà, èáî êëàññîâ ãäå-òî ïîä 200, è òüìà ëèñòåíåðîâ. Íà AS1 ÿ áû èñêàë â òàêîé òüìå êîäà íåäåëþ
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
white-shadow
ñîîáùåíèå 19.06.2009 - 14:38
Ñîîáùåíèå #43


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 7
Ðåãèñòðàöèÿ: 18.06.2009
Ïîëüçîâàòåëü ¹: 9330



äëÿ íà÷àëà ÿ ãîâîðþ íå î ðîëèêå ñ íåáîëøèì êîëè÷åñòâîì ñêðèïòîâ, à î ïîëíîöåííûõ ïðèëîæåíèÿõ/ñàéòàõ íà flash ãäå íå 1 ÷åëîâåê òðóäèòüñÿ.


"Âîçìîæíî õîòåòü ÷òî óãîäíî. Íî òî ÷òî â AS1 áûëî ñâåðõãèáêî, â AS3 çàãíàíî â ñòðîãèå òåñíûå ðàìêè. Ñîáñòâåííî îá ýòîì ï.18"

õîðîøî, åñòü áàçîâûé êëàñ è åãî ìåòîä :
Êîä
class MySuperClass {
   public function MyMethod(i: Number): String;
}

âû äåëàåòå ïîòîìêà ýòîãî êëàññà è ïåðåîïðåäåëÿåòå ìåòîä:
Êîä
class MyClass extend MySuperClass{
   public function MyMethod(i: Number; j: String): String;
}


êàê åãî òåïåðü âûçûâàòü îòêóäà íèáóòü ãäå òðåáóåòñÿ MySuperClass - îïèñàíèÿ èçìåíèëèñü ïðèëîæåíèå ñâàëèòñÿ ñ îøèáêîé âðåìåíè âûïîëíåíèÿ.

Öèòàòà(chingachgoog)
Ïðè ÷åì òóò ïðèâåäåíèå òèïîâ ÷åðåç as è ñóïåð?


âû îïèñàëè çàäà÷ó âûçâàòü ïåðåçàïèñàííûé ìåòîä - âîîáùåòî îáû÷íî íàîáîðîò åñòü MyClass ïðèâåäåííûé ê áàçîâîìó è íóæíî âûçâàòü íå ìåòîä ñóïåð êëàññà à èìåííî ïåðåîïðåäåëåííûé, òîåñòü òàê

Êîä
(MySuperClassExsemplyar as MyClass).MyMethod(0)

ìîæíî è íàîáîðîò
Êîä
(MyClassExsemplyar as MySuperClass).MyMethod(0)



...

"Ïîýòîìó â ï.20 ÿ íåìíîãî ïîãëóìèëñÿ íàä Ìóêîì, êàê îí â AS3 ñîáèðàåòñÿ ÝÊÇÅÌÏËßÐ ïîäêëàññà èñïîëüçîâàòü ÂÌÅÑÒÎ (ïîëíîöåííî) ÝÊÇÅÌÏËßÐÀ ñóïåðêëàññà, åñëè ìû ïåðåïèøåì â ïîäêëàññå ìåòîä ñóïåðêëàññà?  AS1 ýòî ëåãêî ìîæíî, à â AS3 - íåò (ñì. âûøå)"

ñì. âûøå.

"Ïîëèìîðôèçì - ýòî âîîáùå áîëåå àðõèòåêòóðà ëîãèêè, îí âîçìîæåí äàæå â ÿçûêàõ, êîòîðûå íå ÿâëÿþòñÿ ÿçûêàìè ÎÎÏ."

ÿ çíàþ ÷òî òàêîå ïîëè è ÷òî òàêîå ìîðôî, è ðàç ÎÎÏ ïðèäóìàëè ïîñëå ïðîöåäóðíîãî ïðîãðàììèðîâàíèÿ òî âàøå óäèâëåíèå íåóìåñòíî, òîëüêî âûãëÿäèò ýòî òàê (Pascal):
Êîä
function MyFunc(param1: string): string; overload;
function MyFunc(param1: integer): string; overload;

è àðõèòåêòóðû ó ëîãèêè íåò...

"Íî JS è AS1 áóäó÷è ïðîòîòèïíûìè, áîëåå ãèáêèå, ÷åì AS3. "
ïðî òîòæå ÿâàñêðèïò íàïèñàíî ìíîãî òîëìóòîâ ÷òî ýòî ñêîðåå çëî ÷åì áëàãî.
êñòàòè èç ïðèìåðîâ ñ àäîáà [url http://help.adobe.com/ru_RU/ActionScript/3...18a9b90204-7fa3]

Êîä
Object.prototype.toString = function()
{
    // statements
};


Âû ýòîãî õîòåëè â ï. 20?


"Â ñìûñëå êîìó ðàçáèðàòü?"
âäðóã (íå äàé áîã êîíå÷íî) êîìóòî ïðèäåòñÿ ðàçáèðàòü è äîðàáàòûâàòü êîä íàïèñàíûé íà òàìëàéíå äà åùå òàêèì ñïîñîáîì, èëè ñàì àâòîð áóäåò âûíóæäåí äîðàáîòàòü ÑÂÎÉÆÅ êîä ÷åðåç ïîë ãîäà.

"ß ïðîñòî íàïèñàë îá î÷åðåäíûõ ãðàáëÿõ ñ AS3. Ãðàáëè åñòü? Åñòü. È íàäî ïîíèìàòü ìåõàíèçì ãðàáëåé."

äëÿ ìåíÿ ýòî íå ãðàáëè à âïîëíå íîðìàëüíîå ÿâëåíèå ïðèñóùåå íå òîëüêî AS íî è ìíîãèì äðóãèì ÿçûêàì ïðîãðàììèðîâàíèÿ è ïîìîåìó íå òîëüêî äëÿ ìåíÿ.

ÇÛ. íàòêíóëñÿ íà ýòó òåìó êîãäà èñêàë äîêóìåíòàöèè ïî àñ3 ïîýòîìó è ðåøèë ïîñïîðèòü, äóìàþ ìíîãèå æåëàþùèå èçó÷àòü àêòèîí ñêðèïò áóäóò ââåäåû â çàáëóæäåíèÿ.
ÇÛÇÛ. ãäåòî íà 1 ñòðàíèöû âû ïèñàëè ïðî Void è void. void - âèäèìî ââåäåíî äëÿ ñîâìåñòèìîñòè è ïðèâû÷íîñòè (â òîìæå ñ ñ++ èìåííî òàê)
ÇÛÇÛÇÛ ìíîãè ïèñàëè ïî ñóùåñòâó è ëè÷íî Âàñ íèêòî íå çíàåò, òàê ÷òî ïðè÷åì òóò ëè÷íîñòè?


Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
white-shadow
ñîîáùåíèå 19.06.2009 - 14:47
Ñîîáùåíèå #44


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 7
Ðåãèñòðàöèÿ: 18.06.2009
Ïîëüçîâàòåëü ¹: 9330



è âîîáùå ïîëèôîðìèçì íå îçíà÷àåò ÷òî õî÷ó òî è òâîðþ äàæå äëÿ ïðîòîòèïîâ, íåëüçÿ ïåðå÷åðêèâàòü èíêàïñóëÿöèþ - âàì âïðèíöíå íå íóæåí áàçîâûé êëàññ ó âàñ åñòü åãî ïîòîìîê è ýêçåìïëÿð ïîòîìêà, à áàçûâàé êëàññ ìîæåò áûòü âîîáùå àáñòðàêòíûì...

è âû ëþäåé îáâèíÿååòå â íåêîíêðåòèêå - ñëîâî ãèáêî òîæå íå î÷åíü êîíêðåòíî õîòÿ îíî èäåò ÷åðåç ïðèëîæåíèå...

è òóò äåéñòâèòåëüíî óìåñòíî ñðàâíåíèå ñ ÿâîé è ÿâàñêðèïò = as3 è as1-2.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 19.06.2009 - 16:22
Ñîîáùåíèå #45


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
äëÿ íà÷àëà ÿ ãîâîðþ íå î ðîëèêå ñ íåáîëøèì êîëè÷åñòâîì ñêðèïòîâ, à î ïîëíîöåííûõ ïðèëîæåíèÿõ/ñàéòàõ íà flash ãäå íå 1 ÷åëîâåê òðóäèòüñÿ.


Òóò íèêàêîãî ñåêðåòà íåò. Åñëè ðå÷ü î ìíîãîòûñÿ÷åñòðî÷íîì êîäå, íàä êîòîðûì ðàáîòàþò áîëåå òðåõ ïðîãðàììèñòîâ - òî ðàáîòà ñ êëàññàìè è äàæå ñ èíòåðôåéñàìè áóäåò èäòè áûñòðåå. Íî åñòü ïîëíîöåííûå ïðèëîæåíèÿ ãäå êîäà ãäå-òî 2-3 êèëîñòðîêè. Ãäå ðàáîòàåò 1-2-3 ïðîãðàììèñòà. Òàì áûñòðåå è óäîáíåå AS1.

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
õîðîøî, åñòü áàçîâûé êëàñ è åãî ìåòîä :
Êîä
class MySuperClass {
   public function MyMethod(i: Number): String;
}

âû äåëàåòå ïîòîìêà ýòîãî êëàññà è ïåðåîïðåäåëÿåòå ìåòîä:
Êîä
class MyClass extend MySuperClass{
   public function MyMethod(i: Number; j: String): String;
}


êàê åãî òåïåðü âûçûâàòü îòêóäà íèáóòü ãäå òðåáóåòñÿ MySuperClass - îïèñàíèÿ èçìåíèëèñü ïðèëîæåíèå ñâàëèòñÿ ñ îøèáêîé âðåìåíè âûïîëíåíèÿ.


Âû ìåíÿ ñïðàøèâàåòå? Ýòî àäîá íàäî ñïðîñèòü, çà÷åì îíè òàê ñäåëàëè. (íàâåðíîå äàííàÿ àðõèòåêòóðà AVM2 ïî-äðóãîìó ïðîñòî íå ïîçâîëÿåò)
 AS1 ýòî äåëàåòñÿ ëåãêî è áåçî âñÿêèõ îøèáîê - AVM1 ïîñëåäîâàòåëüíî èäåò ïî îáëàñòè âèäèìîñòè öåïî÷åê ïðîòîòèïîâ è íàéäÿ èñêîìóþ ïåðåìåííóþ (â äàííîì ñëó÷àå íàçâàíèå ìåòîäà) áîëåå íè÷åãî íå èùåò. Î ÷åì ÿ è ãîâîðèë â ïï. 18, 24 Íè÷åãî ïðÿòàòü â ïðèâàò è îâåððàéäèòü íå íóæíî.

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
âû îïèñàëè çàäà÷ó âûçâàòü ïåðåçàïèñàííûé ìåòîä - âîîáùåòî îáû÷íî íàîáîðîò


Îáû÷íî äà. Íî Ìóê óòâåðæäàåò ïðî íàîáîðîò. È ÿ ñ íèì ñîãëàñåí - ýòî êðóòî. Âîò áåäà - Ìóê çàáûë ðàññêàçàòü, êàê ýòî äåëàòü íà AS3.

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
åñòü MyClass ïðèâåäåííûé ê áàçîâîìó è íóæíî âûçâàòü íå ìåòîä ñóïåð êëàññà à èìåííî ïåðåîïðåäåëåííûé, òîåñòü òàê

Êîä
(MySuperClassExsemplyar as MyClass).MyMethod(0)

ìîæíî è íàîáîðîò
Êîä
(MyClassExsemplyar as MySuperClass).MyMethod(0)

...


Ýòî ïðèâîä òèïèçàöèè. Êàê ýòî ïîìîæåò âàì âûçâàòü ìåòîä ñóïåðêëàññà ó ÝÊÇÅÌÏËßÐÀ ïîäêëàññà, ó êîòîðîãî ýòîò ìåòîä áûë ïåðåïèñàí?
Âîò âàì ïðîñòûå êëàññû:
Êîä
package {    
    public class A {
        // Ñóïåðêëàññ
        public function use1(){
            trace("ñóïåðêëàññ")
        }
    }            
}

Êîä
package {    
    public class AB extends A {
        // ïîäêëàññ
        public override function use1(){
            trace("Ïîäêëàññ")
        }
    }            
}


Ñîçäàéòå ïîæàëóéñòà ýêçåìïëÿð ïîäêëàññà AB è ñäåëàéòå òàê, ÷òîáû ïðè âûçîâå ìåòîäà use1 ïèñàëîñü "ñóïåðêëàññ".
Íà AS1 òàêàÿ çàäà÷à ðåøàåòñÿ íà ðàç.

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
Êîä
Object.prototype.toString = function()
{
    // statements
};


Âû ýòîãî õîòåëè â ï. 20?


ß õîòåë àíàëîãà
Êîä
ýêçåìïëÿð.__proto__.__proto__.ìåòîä()

äëÿ AS3

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
"Â ñìûñëå êîìó ðàçáèðàòü?"
âäðóã (íå äàé áîã êîíå÷íî) êîìóòî ïðèäåòñÿ ðàçáèðàòü è äîðàáàòûâàòü êîä íàïèñàíûé íà òàìëàéíå äà åùå òàêèì ñïîñîáîì, èëè ñàì àâòîð áóäåò âûíóæäåí äîðàáîòàòü ÑÂÎÉÆÅ êîä ÷åðåç ïîë ãîäà.


Âàì óäîáíî ðûòüñÿ ïî äåñÿòêàì îòäåëüíûõ .as ôàéëîâ, ãäå çà÷àñòóþ âìåñòî îäíîé íóæíîé ñòðî÷êè íàäî ïèñàòü òðè (ï.24) â îòäåëüíîì ôàéëå.
Êîìó-òî óäîáíî ïèñàòü êîä íà òàéìëàéíå.
Äëÿ êàæäîãî êîíêðåòíîãî ñëó÷àÿ ÷òî-òî áóäåò áîëåå îïòèìàëüíûì, à ÷òî-òî ìåíåå.

Öèòàòà(white-shadow @ 19.06.2009 - 15:38) *
"ß ïðîñòî íàïèñàë îá î÷åðåäíûõ ãðàáëÿõ ñ AS3. Ãðàáëè åñòü? Åñòü. È íàäî ïîíèìàòü ìåõàíèçì ãðàáëåé."

äëÿ ìåíÿ ýòî íå ãðàáëè à âïîëíå íîðìàëüíîå ÿâëåíèå ïðèñóùåå íå òîëüêî AS íî è ìíîãèì äðóãèì ÿçûêàì ïðîãðàììèðîâàíèÿ è ïîìîåìó íå òîëüêî äëÿ ìåíÿ.


ß çà âàñ ðàä, îñîáåííî åñëè âû ïîíèìàåòå ÌÅÕÀÍÈÇÌ ãðàáëåé, à íå ïðîñòî òóïî ñëåäóåòå ïðàâèëàì, çíàêîìûì ñ äðóãèõ ÿçûêîâ.
Íî ïîñëå íåïðèõîòëèâîãî AS1 òàêèå îãðè÷åíèÿ AS3 áóäóò âîñïðèíèìàòüñÿ èìåííî êàê ãðàáëè. È ìíå êàæåòñÿ âàæíî ïîêàçàòü èìåííî ìåõàíèçì ãðàáëåé.


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 19.06.2009 - 16:34
Ñîîáùåíèå #46


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Maxim I @ 19.06.2009 - 15:20) *
ß ñåé÷àñ íàøåë áàã â ïðîåêòå íà ýéðå. Èñêàë ÷àñà äâà, èáî êëàññîâ ãäå-òî ïîä 200, è òüìà ëèñòåíåðîâ. Íà AS1 ÿ áû èñêàë â òàêîé òüìå êîäà íåäåëþ


Äàëåêî íå ôàêò. Êîäà íà AS1 áûëî áû ðàçà â äâà ìåíüøå...
AS1 ïîçâîëÿåò ïèñàòü öåíòðàëèçîâàííûé êîä ñ ðàçáèâêîé ïðè íåîáõîäèìîñòè íà .as ôàéëû.

Öèòàòà(white-shadow @ 19.06.2009 - 15:47) *
è âîîáùå ïîëèôîðìèçì íå îçíà÷àåò ÷òî õî÷ó òî è òâîðþ äàæå äëÿ ïðîòîòèïîâ, íåëüçÿ ïåðå÷åðêèâàòü èíêàïñóëÿöèþ - âàì âïðèíöíå íå íóæåí áàçîâûé êëàññ ó âàñ åñòü åãî ïîòîìîê è ýêçåìïëÿð ïîòîìêà, à áàçûâàé êëàññ ìîæåò áûòü âîîáùå àáñòðàêòíûì...


Âîò áåäà - â AS àáñòðàêòíûå êëàññû ìîæíî òîëüêî ýìóëèðîâàòü. À ïðè ÷åì òóò ïåðå÷åðêèâàíèå èíêàïñóëÿöèè ÿ íå ïîíÿë - êòî ïåðå÷åðêèâàåò? Ãäå ïåðå÷åðêèâàåò?
Ïîëèìîðôèçì â AS1 áîëåå ìîùíûé è ãèáêèé, ÷åì â AS3. Ñ ýòèì íàäî ñìèðèòüñÿ.


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 16:54
Ñîîáùåíèå #47


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



âîîáùå-òî åñëè ÿ ïåðåãðóçèë ìåòîä â êëàññå-ïîòîìêå, ýòî îçíà÷àåò òîëüêî îäíî - ÌÅÒÎÄ ÐÎÄÈÒÅËß ÌÍÅ ÀÁÑÎËÞÒÍÎ ÍÅ ÍÓÆÅÍ, èìåííî ïîýòîìó ÿ åãî è ïåðåãðóçèë. ÿ â ñòðàøíîì ñíå òîëüêî ïðåäñòàâëþ ÷òî êàêîé-íèáóäü èäèîò âçäóìàåò âûçâàòü íå òî, ÷òî íàäî. òîëüêî íå íàäî ôàíòàçèé "à ÷òî åñëè ìíå ïîíàäîáèòüñÿ". çà òàêîå îòðûâàþò ðóêè

à ïðî ìåíüøå ñòðîê êîäà íà AS1 äàæå íå ñìåøíî. ñ òâîèìè ìûñëÿìè ðàáî÷èé êîä õîòÿ áû ñòðîê òûñÿ÷ â 10 áóäåò óæàñåí è èìõî íèêîãäà íå çàðàáîòàåò
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 17:01
Ñîîáùåíèå #48


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



 ïîñëåäíèé ðàç, êîãäà ïðèøëîñü âäðóã èãðó ïèñàòü ïîä AS1/AS2 ÿ ðâàë íà ñåáå âîëîñû, è ïðîêëèíàë âñå íà ñâåòå. ×óâàê, êàê ÿ ñ÷àñòëèâ ÷òî ýòî ïîçàäè è ñ ÀS1 ìíå áîëüøå íå ïî ïóòè. Ïîäóìàé îá ýòîì íà äîñóãå, õîòÿ åñëè òû ìàçîõèñò, íè÷åãî íå èìåþ ïðîòèâ. Çàñèì îòêëàíèâàþñü, à òî òàê ðàáîòà âñòàíåò íà áîëòîâíþ
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 19.06.2009 - 17:22
Ñîîáùåíèå #49


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Êàê ïðåäñêàçóåì îêàçàëñÿ Maxim I...
Ñëåíã à-ëÿ "÷óâàê", ìíîãî ýìîöèé è íè÷åãî èç êîíêðåòèêè...
Íàäåþñü íà êîä îò white-shadow.


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 17:54
Ñîîáùåíèå #50


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



Îáðàùàþñü ïðèìåíèòåëüíî ê Âàøåìó þíîìó âîçðàñòó, ìîæåò òàê ðåàëüíåå äîñòó÷àòüñÿ. Ïîêà íèêîìó ýòî íå óäàëîñü.

Êîä
public class Player {

public function Player(){
something();
}

protected function doThis():void{
...
}

}

public class MyPlayer extends Player {

override protected function doThis(){
super.doThis();
.....
}
}


ìîæåò òàê ïîíÿòíåå? ó ìåíÿ åñòü óíèêàëüíûé êëàññ êîòîðûé òî÷íî òàêîé êàê è îñòàëüíûå êëàññû, â äàííîì ñëó÷àå èãðîêîâ, ðàçíèöà ÷òî ýòî ìîé èãðîê, è íè â êîåì ñëó÷àå îí íå äîëæåí â îïðåäåëåííûõ ñëó÷àÿõ ñ íèìè ñìåøèâàòüñÿ. â ýòîì ñëó÷àå ÿ îáðàùàþñü ÷åðåç êëàññ ê ìåòîäó ðîäèòåëÿ, ñêàæåì, ïîíàäîáèëîñü ýòîò ìåòîä äîïîëíèòü. íî åñëè ýêçåìïëÿð êëàññ áóäåò âûïîëíÿòü ìåòîä ðîäèòåëÿ, à íå ñâîé, ýòî áóäåò íàçûâàòüñÿ "óáåéòå åãî, ÷òîáû íå ìó÷àëñÿ"

òåáå óæå âñå ðàçæåâàëè, AS3 ñäåëàëè äîíåëüçÿ óäîáíûì è ÷èòàåìûì, òåáå óæå ïðî ñòðèêò âðîäå ïèñàëè, ýòî ñïàñàåò íåðâû, óæ ïîâåðü
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 18:06
Ñîîáùåíèå #51


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



void çàáûë äîáàâèòü. êñòàòè òîò ïðîåêò â êîòîðîì ó÷àñòâîâàë íà AS2 òàê è íå ñìîãëè îòëàäèòü è çàêîí÷èòü, âðîäå ïåðåïèñûâàþò ïîä AS3. ïåðâûé ýêøíñêðèïò, ðàâíî êàê è AVM1 äëÿ áîëåå-ìåíåå ñåðüåçíûõ ïðîåêòîâ - ýòî øàã â ïðîïàñòü, ß ÃÀÐÀÍÒÈÐÓÞ ÝÒÎ!
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 19.06.2009 - 18:19
Ñîîáùåíèå #52


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Maxim I @ 19.06.2009 - 18:54) *
Îáðàùàþñü ïðèìåíèòåëüíî ê Âàøåìó þíîìó âîçðàñòó, ìîæåò òàê ðåàëüíåå äîñòó÷àòüñÿ. Ïîêà íèêîìó ýòî íå óäàëîñü.

Êîä
...
override protected function doThis(){
super.doThis();
.....
}


ìîæåò òàê ïîíÿòíåå?


Ïðèâåòñòâóþ êîíêðåòèêó!
Íî ÷òî äîëæíî áûòü ïîíÿòíåé? Â ï.20 ÿ èìåííî ïðî ýòî è ïèñàë:
Öèòàòà
super â AS3 ìîæíî âûïîëíèòü òîëüêî âíóòðè îïèñàíèÿ êëàññà.


 äàííîì ñëó÷àå îâåððàéä áåññìûñëåíåí - ïåðåçàïèñàííàÿ ôóíêöèÿ äåëàåò òîæå ñàìîå, ÷òî ðîäèòåëüñêàÿ.
 äàííîì ñëó÷àå íàëèöî íåäîïîíèìàíèå èìåííî ñî ñòîðîíû Maxim I. Îí íå ïîíèìàåò, ÷òî ìîæåò, à ÷òî ÍÅ ìîæåò äåëàòü AS1 è AS3.
 AS1 ìîæíî îáðàùàòüñÿ ñ ýêçåìïëÿðîì ïîäêëàññà ÏÎËÍÎÑÒÜÞ ÒÀÊ ÆÅ, êàê åñëè áû ýòî áûë ýêçåìïëÿð åãî ñóïåðêëàññà. Èìåííî â òîò ìîìåíò êîãäà ìíå ýòî íàäî. Ò.å. ýêçåìïëÿð îäèí, à â çàâèñèìîñòè îò çàäà÷è îí ìîæåò âåñòè ñåáÿ ëèáî êàê ñîáñòâåííûé ýêçåìïëÿð, ëèáî êàê ýêçåìïëÿð ñâîåãî ñóïåðêëàññà.  AS3 ýòî íåâîçìîæíî - íåîáõîäèìî áóäåò ñäåëàòü äîïîëíèòåëüíûå êîñòûëè, äåðãàÿ çà êîòîðûå ìîæíî áóäåò ÷àñòè÷íî èìèòèðîâàòü ïîâåäåíèå ýêçåìïëÿðà ïîä ýêçåìïëÿð ñóïåðêëàññà.
Âîò ñîáñòâåííî è âñå.

Äàëåå ìîæíî ðàçâåñòè äåìàãîãèþ, ÷òî ìîë â AS3 ýòî âîâñå è íå íóæíî, ÷òî ìîë ïåðåçàãðóçêà è îçíà÷àåò, ÷òî ìåòîä ðîäèòåëÿ íå íóæåí...
Ìîæåò áûòü, ìîæåò áûòü... Íî â AS1 òàêàÿ âîçìîæíîñòü åñòü, à â AS3 - íåò.
Ìóê ëÿïíóë ïðî ïîëèìîðôèçì - à ýòî ëèøü â AS1 âîçìîæíî. Êòî çà ÷åñòü Ìóêà ïîñòîÿòü ñìîæåò?

Æäó ðàçãðîìíîãî îòâåòà (êîäà) îò white-shadow. À òàì ãëÿäèøü è Maxim I ñìîæåò íåõèòðóþ èíòåðïîëÿöèþ ñäåëàòü:
"ñìîòðèòå äå - òóò chingachgoog îêîíôóçèëñÿ - ãëóïîñòü äå íàïèñàë, çíà÷èò è åãî îñòàëüíûå ïóíêòû òàêàÿ æå ãëóïîñòü... smile.gif

Öèòàòà(Maxim I @ 19.06.2009 - 18:54) *
òåáå óæå âñå ðàçæåâàëè, AS3 ñäåëàëè äîíåëüçÿ óäîáíûì è ÷èòàåìûì...

Íó äà íó äà. Êîìó è êîáûëà íåâåñòà... ©


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Maxim I
ñîîáùåíèå 19.06.2009 - 18:36
Ñîîáùåíèå #53


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 8
Ðåãèñòðàöèÿ: 19.06.2009
Ïîëüçîâàòåëü ¹: 9333



Öèòàòà
Ò.å. ýêçåìïëÿð îäèí, à â çàâèñèìîñòè îò çàäà÷è îí ìîæåò âåñòè ñåáÿ ëèáî êàê ñîáñòâåííûé ýêçåìïëÿð, ëèáî êàê ýêçåìïëÿð ñâîåãî ñóïåðêëàññà.  AS3 ýòî íåâîçìîæíî - íåîáõîäèìî áóäåò ñäåëàòü äîïîëíèòåëüíûå êîñòûëè, äåðãàÿ çà êîòîðûå ìîæíî áóäåò ÷àñòè÷íî èìèòèðîâàòü ïîâåäåíèå ýêçåìïëÿðà ïîä ýêçåìïëÿð ñóïåðêëàññà.
Âîò ñîáñòâåííî è âñå.


îí è âåäåò ñåáÿ èìåííî êàê ýêçåìïëÿð ñóïåðêëàññà. èíà÷å ïî÷åìó ìíå åãî íàñëåäîâàòü? òîëüêî îí ðàñøèðÿåò è äîïîëíÿåò íîâûìè èëè ïåðåãðóæåííûìè ìåòîäàìè ðîäèòåëüñêèé êëàññ, òî åñòü âåäåò ñåáÿ òàê, êàê ìíå íóæíî. ïëÿñêè ñ ïðîòîòèïàìè â êîäå, óïàñè ãîñïîäü, ýòî ñàáîòàæ
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 19.06.2009 - 18:46
Ñîîáùåíèå #54


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Maxim I @ 19.06.2009 - 19:36) *
îí è âåäåò ñåáÿ èìåííî êàê ýêçåìïëÿð ñóïåðêëàññà. èíà÷å ïî÷åìó ìíå åãî íàñëåäîâàòü?


 ýòîì ìåñòå âàæíàÿ äåòàëü:

Öèòàòà
 AS1 ìîæíî îáðàùàòüñÿ ñ ýêçåìïëÿðîì ïîäêëàññà ÏÎËÍÎÑÒÜÞ ÒÀÊ ÆÅ, êàê åñëè áû ýòî áûë ýêçåìïëÿð åãî ñóïåðêëàññà.

ÏÎËÍÎÑÒÜÞ!
À â AS3 - ëèøü ãäå ìåòîäû ðîäèòåëÿ íå áûëè ïåðåïèñàíû (íå ãîâîðÿ óæå î ñâîéñòâàõ çàïðÿòàííûõ â ïðèâàò).

Öèòàòà(Maxim I @ 19.06.2009 - 19:36) *
... ïëÿñêè ñ ïðîòîòèïàìè â êîäå, óïàñè ãîñïîäü, ýòî ñàáîòàæ


Êîìó êàê óäîáíåé. Äåëî õîçÿéñêîå. Áûëà áû ÂÎÇÌÎÆÍÎÑÒÜ. À âîçìîæíîñòü ýòó â AS3 ïðèêðûëè è ïîëó÷èëè ìàññó îãðàíè÷åíèé.


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
white-shadow
ñîîáùåíèå 20.06.2009 - 01:13
Ñîîáùåíèå #55


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 7
Ðåãèñòðàöèÿ: 18.06.2009
Ïîëüçîâàòåëü ¹: 9330



ÿ íå ãîâîðþ ÷òî ìíå íðàâèòüñÿ îðãàíèçàöèÿ îäèí ôàéë îäèí ïóáëè÷íûé êëàññ (èìåííî 1=1), íî ïî êðàéíåé ìåðå ýòî î÷åíü ëîãè÷íî. ìíîãèå èçìåíåíèÿ ÿçûêà (îãðàíè÷åíèÿ êàê âû âûðàæàåòåñü) ïîçâîëÿþò ïîâûñèòü ïðîèçâîäèòåëüíîñòü âèðòóàëüíîé ìàøèíû AVM. Êñòàòè ïðî ìàëîñòü êîäà, ÎÎÏ â òîì ÷èñëå è äëÿ ýòîãî ïðèäóìàëè - ÷òîáû ïîâòîðíî èñïîëüçîâàòü êîä è äåëàòü ìåíüøå åãî ïîâòîðîâ.

ïðî âûçîâ ìåòîäà áàçîâîãî êëàññà ïî ýêçåìïëÿðó - ýòî è íàðóøàåò èíêàïñóëÿöèþ - âàì íå íóæíî çíàòü êàê âñå ñäåëàíî ó âàñ èíòåðôåéñ (íå òîò êîòîðûé interface) ÷òîáû ðàáîòàòü ñ êëàññîì îïèñàííûé â áàçîâîì êëàññå - âàøà áàçà äëÿ óíèâåðñàëèçàöèè, íàïðèìåð ó âàñ åñòü êëàññ Stream ãäå åñòü ìåòîäû read write seek è òàê äàëåå è åñòü åãî ïîòîìêè MemoryStream è FileStream ãäå âñå ýòî ïåðåïèñàíî è åñòü êëàññ â êîòîðîì èñïîëüçóåòñÿ êëàññ Stream íàïðèìåð â êà÷åñòâå áóôåðà è âàì íå âàæíî êàê îí õðàíèòüñÿ â ïàìÿòè èëè íà äèñêå (êàêîé ïîòîìîê ñîçäàí) åñòü ìåòîäû read write è ñ íèìè ðàáîòàåòå (âûçûâàåòå ïåðåîïðåäåëåííûå ìåòîäû).

Îñíîâíîé ñìûñë îîï ýòî òî ÷òî âàì âñåðàâíî êàê ðåàëèçîâàí êëàññ (ãäå õðàíèòü áóôåð) à âàæíî ÷òî ìîæíî ÷èòàòü è ïèñàòü. À åñëè âû çíàåòå è çàâèñèòå îò ðåàëèçàöèè òî çà÷åì âñå ýòè ãðàáëè ñ îáúåêòàìè...

à åñëè íåìíîãî ïîìåíÿòü öåïî÷êó íàñëåäîâàíèÿ? äîáàâèòü ïðîìåæóòî÷íûé êëàññ ìåæäó Stream è *Stream ñ ïåðåîïðåäåëåííûìè ìåòîäàìè, òî êîä èñïîëüçóþùèå âàøå ïðåäëîæåíèå íå ñìîæåò ðàáîòàòü (âû âûçîâåòå óæå íå òó ôóíêöèþ íà êîòîðóþ ðàñ÷èòûâàëè).

"Ìóê ëÿïíóë ïðî ïîëèìîðôèçì - à ýòî ëèøü â AS1 âîçìîæíî. Êòî çà ÷åñòü Ìóêà ïîñòîÿòü ñìîæåò?"
ïîëèìîðôèçì ýòî êàê ðàç îò ñòàðøåãî ê ìëàäøåìó à íå íàîáîðîò. ïî ïîâîäó âûçîâà ïåðåãðóæåííîãî ìåòîäà ñîãëàøóñü ÷òî â AS3 íåëüçÿ òàê (super îïðåäåëåí òîëüêî âíóòðè ìåòîäîâ êëàññà), íî ýòî íîðìàëüíî èáî íàîáîðîò - êàê ìèíèìóì íå áåçîïàñíî ïîòîìó÷òî íàðóøàåò ëîãèêó ðàáîòû êëàññà è ðåçóëüòàò òðóäíî êîíòðîëèðîâàòü.

ýòè ìèíóñû ñêîðåå ñìàõèâàþò íà õàêè ÷åì íà ðåàëüíóþ íåîáõîäèìîñòü. ïîâòîðþñü ïîëèìîðôèçì !== êàê õî÷ó òàê è äåëàþ. ïîëèìîðôèçì(ìíîãî ôîðì) ýòî ìíîãî ðåàëèçàöèé ìåòîäîâ êëàññà ñ îäíèì îïèñàíèåì è íèêàê íå èíà÷å. åñëè èçìåíèòü îïèñàíèå âû âû÷åðêèâàåòå íàñëåäîâàíèå, åñëè âûçûâàòü ìåòîä ñóïåð êëàññà ïåðåïèñàííûé â ïîòîìêå, òî âû íàðóøàåòå åùå è èíêàïñóëÿöèþ - âû çíàåòå êàê âíóòðåííå ðåàëèçîâàí êëàññ (ñêîëüêî ïðîòî íóæíî íàïèñàòü ÷òîáû äîáðàòüñÿ äî íóæíîãî ìåòîäà) ïîëó÷àåòñÿ âû çàâèñèòå îò åãî ðåàëèçàöèè è èçìåíèòü åå óæå íåëüçÿ èíà÷å âàø êîä ïåðåñòàíåò ðàáîòàòü ïðàâèëüíî.

áàíàëüíîå îîï íà êëàññàõ ïðîùå ÷èòàòü ïèñàòü è êîíòðîëèðîâàòü íå àðãóìåíò? ê òîìóæå ïîçâîëÿåò áîëåå æåñòêî ïðîâåðÿòü òèïû ïåðåìåííûõ è îïèñàíèå ìåòîäîâ åùå íà ýòàïå êîìïèëÿöèè...

"Åñëè çâåçäû çàæèãàþò -- çíà÷èò -- ýòî êîìó-íèáóäü íóæíî?"
åñëè ÷òîòî çàïðÿòàëè â ïðèâàò òî ìîæåò íå äóðàê áûë ýòîò ÷åëîâåê. ê òîìóæå åñòü åùå final äàæå åñòü final êëàññû.


ïîêà âñïîìíèë ïðî âîñìèðè÷íóþ ñèñòåìó.
Òåïåðü ActionScript 3 èíòåðïðåòèðóåò ñòðîêó, íà÷èíàþùóþñÿ ñ íóëÿ êàê äåñÿòè÷íîå ÷èñëî.
Êîä:
// ActionScript 3
trace(Number("010")); // 10
Åñëè æå íóæíî èíòåðïðåòèðîâàòü ñòðîêó êàê âîñüìåðè÷íîå ÷èñëî (èëè â ëþáóþ äðóãó ñèñòåìó ñ÷èñëåíèÿ), òî íóæíî èñïîëüçîâàòü ôóíêöèþ parseInt:
Êîä:
trace(parseInt("010", 8)); // 8

è ïî ïîâîäó onReleaseOutside òîæå ìîæíî (åñòåñòâåííî ñâîèìè ñèëàìè), ïîèñ÷èòå 100 ñîâåòîâ ïî AS3 îò senocular òàìæå è ïðî duplicateMovieClip áûëî...

âîáùåì ñìûñëà óñòðàèâàòü õîëèâàð ÿ íå âèæó íðàâèòüñÿ íà ïðîòîòèïàõ - äàé áîã, ïðîñòî íàòêíóëñÿ íà ýòîò òîïèê ïðè ïîèñêå äîêîâ ïî ÀÑ3 (ðåøèë íàïèñàòü êîíêðåòíîå ïðèëîæåíèå (ðåäàêòîð èçîáðàæåíèé), äî ýòîãî ñîáî íå "ôëåøèë" ) è äóìàþ íåêîòîðûõ ìîæåò ââåñòè â çàáëóæäåíèå ÷òî âñå òàê ïëîõî. Ëè÷íî áûë î÷åíü ðàä åñëè áû àâàñêðèïò èìåëà áû õîòü ïîëîâèíó "îãðàíè÷åíèé" êàê â ÀÑ3(õîòÿáû ðåàëèçàöèþ íà êëàññàõ). È âîîáùå ïðîòîòèï îí ÷òîáû äîáàâèòü ñâîþ ôóíêöèþ, ðàñøèðèòü ôóíêöèîíàë òàê ñêàçàòü, íàïðèìåð èç æèçíè:
åñòü ByteArray è åñòü ó íåãî ìåòîä compress(algo: String) íî âî ôëåø ïëååðå íåòó äåôëåéòà òîêà zlib (algo = void - compress() ) ïîýòîìó ïðèõîäèòüñÿ ïåðåïèñûâàòü àëãîðèòì ñæàòèÿ íà ôëåø è î÷åíü óäîáíî ðàñøèðèòü ByteArray íîâûì ìåòîäîì CompressDeflate...

Ñîîáùåíèå îòðåäàêòèðîâàë white-shadow - 20.06.2009 - 08:29
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
MustLive
ñîîáùåíèå 20.06.2009 - 23:20
Ñîîáùåíèå #56


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Flash Zone Team
Ñîîáùåíèé: 4832
Ðåãèñòðàöèÿ: 10.03.2005
Èç: Êèåâ
Ïîëüçîâàòåëü ¹: 5



white-shadow, Maxim I è äðóãèå ó÷àñòíèêè ôîðóìà, çàìå÷ó âàì î òîì, î ÷¸ì óæå çàìå÷àë Rohan-ó è chingachgoog-ó, íå íóæíî óñòðàèâàòü ïîòàñîâêè è ïåðåïàëêè íà ôîðóìå. Äåðæèòå ñåáÿ â ðóêàõ è íå äîïóñêàéòå ÷ðåçìåðíûõ ïîòîêîâ ýìîöèé, êîòîðûå îòíþäü íå äåëàþò äèñêóññèþ â ýòîé òåìå áîëåå êîíñòðóêòèâíîé wink.gif.

Ê ïðèìåðó, white-shadow îáðàòèë âíèìàíèå íà ýòîò àñïåêò, è â ñâî¸ì ïîñëåäíåì ïîñòå ïåðåâ¸ë ðàçãîâîð â êîíñòðóêòèâíîå ðóñëî (÷òîáû íå óñòðàèâàòü õîëèâàð íà ôîðóìå). Ïîñëå òîãî, êàê âíà÷àëå íåìíîãî ïîääàëñÿ ýìîöèÿì. Òàê ÷òî îò äðóãèõ ïîëüçîâàòåëåé òàêæå îæèäàåòñÿ ïîäîáíûé êîíñòðóêòèâíûé ïîäõîä.

ß ïðåêðàñíî ïîíèìàþ, ÷òî òåìà ïîäíÿòàÿ chingachgoog âåñüìà íåîäíîçíà÷íà, è íå âñåì îíà ìîæåò ïîíðàâèòüñÿ (îñîáåííî àïîëîãåòàì AS3), íî ñðàâíåíèå ðàçëè÷íûõ âåðñèé AS è AVM äåëî íóæíîå. È îò äàííîé òåìû áóäåò ïîëüçà äëÿ ôëåøåðîâ è ÷åì êîíñòðóêòèâíåå áóäåò äèñêóññèÿ, òåì ëó÷øå áóäåò äëÿ âñåõ.


--------------------
Best wishes & regards,
MustLive
Àäìèíèñòðàòîð ñàéòà
http://mlfun.org.ua
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
MustLive
ñîîáùåíèå 20.06.2009 - 23:47
Ñîîáùåíèå #57


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Flash Zone Team
Ñîîáùåíèé: 4832
Ðåãèñòðàöèÿ: 10.03.2005
Èç: Êèåâ
Ïîëüçîâàòåëü ¹: 5



Öèòàòà
Ìîæåò áàÿí, íî ÿ íå íàøåë íè îäíîãî àðãóìåíòà ñî ñòîðîíû %username%

VivaKalman

Òû î êîì ãîâîðèøü?  ñëåäóþùèé ðàç âìåñòî %username% èñïîëüçóé èìÿ ó÷àñòíèêà ôîðóìà wink.gif.

Öèòàòà
Ñêàæåì, åñëè ìû ïèøåì íà AS2/1 (äëÿ âåá), òî ïðåäïîëàãàåòñÿ, ÷òî íà áðàóçåð ïîëüçîâàòåëÿ óñòàíîâëåí Flash player íå íèæå 9 âåðñèè, â òî âðåìÿ êàê As3 ïðåäïîëàãàåò íàëè÷èå âåðñèè >=9.

Åñëè ïèøåì íà AS1, òî âåðñèÿ ôëåø ïëååðà ìîæåò áûòü ëþáàÿ, êàê ïîñëåäíÿÿ, òàê è ïðåäûäóùèå. Åñëè íà AS2, òî âåðñèÿ ôëåø ïëååðà ä.á. 7 è âûøå, à åñëè íà AS3, òî âåðñèÿ ä.á. 9 è âûøå.

Ïðè ýòîì íóæíî ïîìíèòü, ÷òî íåêîòîðûå âîçìîæíîñòè AS1 ïîÿâëÿëèñü â áîëåå íîâûõ âåðñèÿõ ôëåøà (ò.å. ïîñëå 6 âåðñèè, â ïîñëåäóþùèõ âåðñèÿõ äîáàâëÿëèñü ôóíêöèè â AS1). Ïîäîáíîå ìîæåò ïðîèçîéòè è ñ AS2. Ïîýòîìó â íåêîòîðûõ ñëó÷àÿõ íóæíî ó÷èòûâàòü íå òîëüêî âåðñèþ AS, íî è âåðñèþ ôëåø ïëååðà, â êîòîðîé áûëà äîáàâëåíà äàííàÿ ôóíêöèÿ.

Öèòàòà
Íà âðÿä ëè, ó âñåõ ðÿäîâûõ ïîëüçîâàòåëåé èíòåðíåòà ñòîèò ïëàåð âûøå 8 âåðñèè

Ó áîëüøèíñòâà óæå äàâíî ñòîèò 9 è ïîñëå âûõîäà 10 âåðñèè, ïîëüçîâàòåëè ïîòèõîíüêó îáíîâëÿþòñÿ íà íîâóþ âåðñèþ. Î ñòàòèñòèêå èñïîëüçîâàíèÿ ðàçëè÷íûõ âåðñèé ôëåøà (ðàçìåù¸ííîé íà ñàéòå Àäîáà) ÿ ïèñàë â ïðîøëîì ãîäó.

Öèòàòà
çàñòàâëÿòü âûêà÷èâàòü ïîëüçîâàòåëÿ ïëàãèí, òîëüêî äëÿ òîãî, ÷òî ïîñåòèòü âàø ðåñóðñ - ïî ìåíüøåé ìåðå íå ðàçóìíî

Ýòî íå îñîáî ðàçóìíûé ïîäõîä - çàñòàâëÿòü âûêà÷èâàòü áîëåå íîâóþ âåðñèþ ïëàãèíà, íî îí âåñüìà ðàñïðîñòðàí¸í. È ñ 1998 è ïî ñåé äåíü ÿ íåðåäêî ñ òàêèìè ñàéòàìè ñòàëêèâàþñü, êîòîðûå óâëåêàþòñÿ àâàíãàðäèçìîì smile.gif. È ìíîãèå ñåðü¸çíûå ïîðòàëû ðåãóëÿðíî îáíîâëÿþò ñâîè ôëåøêè äî ïîñëåäíåé âåðñèè è òðåáóþò îò ïîëüçîâàòåëåé îáíîâèòü ôëåø ïëàãèí, è ïîëüçîâàòåëè òàêèõ ñàéòîâ ñîâñåì íå óõîäÿò îò íèõ, à ñïîêîéíî îáíîâëÿþò ñâîè ôëåø ïëàãèíû (ñàì ñòîëêíóëñÿ ñ ïîäîáíûì íà Þòþáå â ïðîøëîì ãîäó). Ïîýòîìó èíîãäà ñàéòû âûíóæäåíû òðåáîâàòü îò ñâîèõ ïîëüçîâàòåëåé íàëè÷èÿ ïîñëåäíèõ âåðñèé ôëåø-ïëàãèíà.


--------------------
Best wishes & regards,
MustLive
Àäìèíèñòðàòîð ñàéòà
http://mlfun.org.ua
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 22.06.2009 - 12:51
Ñîîáùåíèå #58


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
ÿ íå ãîâîðþ ÷òî ìíå íðàâèòüñÿ îðãàíèçàöèÿ îäèí ôàéë îäèí ïóáëè÷íûé êëàññ (èìåííî 1=1), íî ïî êðàéíåé ìåðå ýòî î÷åíü ëîãè÷íî.


Âû ïðàâäà òàê ñ÷èòàåòå? ×òî ýòî ËÎÃÈ×ÍÎ? Äà åùå è "î÷åíü"?
Ìîæåò òóò è åñòü ëîãèêà ñ òî÷êè çðåíèÿ êîìïèëÿòîðà. Íî ñòî÷êè çðåíèÿ ïðîãðàììèñòà-êîíå÷íîãî ïîëüçîâàòåëÿ - ëîãèêè íåò. Ïî÷åìó ÿ íå ìîãó â òåëî ïàêåòà çàïèõíóòü íåñêîëüêî âíåøíèõ êëàññîâ/ôóíêöèé/ïåðåìåííûõ? Ïî÷åìó ÿ äîëæåí íàçûâàòü ôàéë èìåííî èìåíåì åäèíñòâåííîãî âíåøíåãî êëàññà/ôóíêöèè/ïåðåìåííîé? È åùå äåñÿòîê ïî÷åìó.
Ýòî, âîçìîæíî, áûëî óäîáíî ïðîãðàììèñòàì-ðàçðàáîò÷èêàì àäîáà, íî íè ðàçó íå óäîáíî êîíå÷íîìó ïðîãðàììèñòó-ïîëüçîâàòåëþ ïðîäóêòà.

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
ìíîãèå èçìåíåíèÿ ÿçûêà (îãðàíè÷åíèÿ êàê âû âûðàæàåòåñü) ïîçâîëÿþò ïîâûñèòü ïðîèçâîäèòåëüíîñòü âèðòóàëüíîé ìàøèíû AVM.


Äà, ÿ îá ýòîì ãîâîðèë - äèíàìè÷åñêàÿ òðàíñëÿöèÿ êîäà òðåáóåò æåðòâ. Íà ìîé âçãëÿä æåðòâû ïåðåâåøèâàþò ïîëó÷àåìûå áëàãà.

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
Êñòàòè ïðî ìàëîñòü êîäà, ÎÎÏ â òîì ÷èñëå è äëÿ ýòîãî ïðèäóìàëè - ÷òîáû ïîâòîðíî èñïîëüçîâàòü êîä è äåëàòü ìåíüøå åãî ïîâòîðîâ.


Íå ïîéìó, ê ÷åìó ýòî? Íèêòî íå ñïîðèò, ÷òî ÎÎÏ, äîñòóïíîå åùå ñ AS1, äåëàåò âîçìîæíûì ïîâòîðíî èñïîëüçîâàòü êîä.
ß æå ãîâîðèë ïðî ãðîìîçäêîñòü êîäà AS3 ïî ñðàâíåíèþ ñ êîäîì AS1, î ÷åì êñòàòè ãîâîðèë è ìèñòåð Ëè.

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
ïðî âûçîâ ìåòîäà áàçîâîãî êëàññà ïî ýêçåìïëÿðó - ýòî è íàðóøàåò èíêàïñóëÿöèþ - âàì íå íóæíî çíàòü êàê âñå ñäåëàíî ó âàñ èíòåðôåéñ (íå òîò êîòîðûé interface)...
Îñíîâíîé ñìûñë îîï ýòî òî ÷òî âàì âñåðàâíî êàê ðåàëèçîâàí êëàññ (ãäå õðàíèòü áóôåð) à âàæíî ÷òî ìîæíî ÷èòàòü è ïèñàòü. À åñëè âû çíàåòå è çàâèñèòå îò ðåàëèçàöèè òî çà÷åì âñå ýòè ãðàáëè ñ îáúåêòàìè...
...
Öèòàòà
Ìóê ëÿïíóë ïðî ïîëèìîðôèçì - à ýòî ëèøü â AS1 âîçìîæíî. Êòî çà ÷åñòü Ìóêà ïîñòîÿòü ñìîæåò?

ïîëèìîðôèçì ýòî êàê ðàç îò ñòàðøåãî ê ìëàäøåìó à íå íàîáîðîò. ïî ïîâîäó âûçîâà ïåðåãðóæåííîãî ìåòîäà ñîãëàøóñü ÷òî â AS3 íåëüçÿ òàê (super îïðåäåëåí òîëüêî âíóòðè ìåòîäîâ êëàññà), íî ýòî íîðìàëüíî èáî íàîáîðîò - êàê ìèíèìóì íå áåçîïàñíî ïîòîìó÷òî íàðóøàåò ëîãèêó ðàáîòû êëàññà è ðåçóëüòàò òðóäíî êîíòðîëèðîâàòü.


Òåì íå ìåíåå ÿ äàë öèòàòó èç Ìóêà. Ïî-ìîåìó åå òðóäíî ïîíÿòü èíà÷å. Åäèíñòâåííîå, íà ÷òî ìîãóò ðàññ÷èòûâàòü àäåïòû Ìóêà - ýòî îøèáêà ïåðåâîä÷èêà.
×òî êàñàåòñÿ ïîëèìîðôèçìà - ÿ äàë ññûëêó íà Áàääà (ñì. âûøå). Ýòî î÷åíü øèðîêîå ïîíÿòèå, êîòîðîå â AS3 ñóæàåòñÿ äî î÷åíü êîíêðåòíîãî èñïîëüçîâàíèÿ.  ýòîì ñìûñëå ïîëèìîðôèçì íà AS3 ãîðàçäî ãèá÷å è øèðå.
À èíêàïñóëÿöèÿ, êîãäà ó ýêçåìïëÿðà ìû ìîæåì âûçâàòü ìåòîä åãî ñóïåðêëàññà ÷åðåç __proto__ íè ðàçó íå íàðóøàåòñÿ - â ëþáîì ñëó÷àå ìû çíàåì, êòî ÷åé íàñëåäíèê è êàêîâà öåïî÷êà íàñëåäîâàíèÿ. À èìåíà ìåòîäîâ íàçûâàþòñÿ îäèíàêîâî, â äàííîì ñëó÷àå. Ò.å. èíòåðôåéñ íàì çíàêîì è öåïî÷êó íàñëåäîâàíèÿ ìû çíàåì. Äàëåå íàøå ïðàâî èñïîëüçîâàòü ýêçåìïëÿð êàê íàì çàáëàãîðàññóäèòüñÿ - ëèáî êàê ýêçåìïëÿð åãî ñîáñòâåííîãî êëàññà, ëèáî êàê ýêçåìïëÿð åãî ñóïåðêëàññà (î ÷åì òàê íåóäà÷íî çàÿâèë Ìóê).

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
"Åñëè çâåçäû çàæèãàþò -- çíà÷èò -- ýòî êîìó-íèáóäü íóæíî?"
åñëè ÷òîòî çàïðÿòàëè â ïðèâàò òî ìîæåò íå äóðàê áûë ýòîò ÷åëîâåê. ê òîìóæå åñòü åùå final äàæå åñòü final êëàññû.


Èíîãäà è òàê. Íî êàê ÿ ïèñàë â ï.19 äðóãîãî âûõîäà, êîãäà ïåðåìåííûå èìåþò îäíî èìÿ òåïåðü ÏÐÎÑÒÎ ÍÅÒ. Òîëüêî â ïðèâàò èõ! Äóðàê íå äóðàê - êîìïèëÿòîð ïî-äðóãîìó íå ïîçâîëèò. À âåäü ìîæåò è íå äóðàê è ñïåöèàëüíî èõ îäèíàêîâî îáîçâàë (êàê ðàíüøå ìîæíî áûëî â AS1) - àí íåò. Ïèøèòå êà ëèøíèå ãåòòåð/ñåòòåð ôóíêöèè äëÿ ïðèâàòíûõ ïåðåìåííûõ. Âîò ýòî âñå è äåëàåò êîä â AS3 áîëåå ãðîìîçäêèì.

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
ïîêà âñïîìíèë ïðî âîñìèðè÷íóþ ñèñòåìó.
Òåïåðü ActionScript 3 èíòåðïðåòèðóåò ñòðîêó, íà÷èíàþùóþñÿ ñ íóëÿ êàê äåñÿòè÷íîå ÷èñëî.


Àãà. Â ï.17 ÿ ïðî ýòî óæå ïèñàë.

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
è ïî ïîâîäó onReleaseOutside òîæå ìîæíî (åñòåñòâåííî ñâîèìè ñèëàìè), ïîèñ÷èòå 100 ñîâåòîâ ïî AS3 îò senocular òàìæå è ïðî duplicateMovieClip áûëî...


Äà-äà. Ïîñòîÿííî òóò ññûëêè íà ýòè 100 ïðåìóäðîïåñêàðñêèõ ñîâåòîâ äàþ. smile.gif Ïîýòîìó â ï.14 è ñïðîñèë, ñêîëüêèñòðî÷íûé óðîäåö âûøåë. smile.gif


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 22.06.2009 - 12:55
Ñîîáùåíèå #59


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 1130
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
áàíàëüíîå îîï íà êëàññàõ ïðîùå ÷èòàòü ïèñàòü è êîíòðîëèðîâàòü íå àðãóìåíò?


Ýòî íå àðãóìåíò. Ýòî ñïîðíîå óòâåðæäåíèå (åñëè ðå÷ü ñî ñðàâíåíèåì ñ ÎÎÏ íà ïðîòîòèïàõ)

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
ê òîìóæå ïîçâîëÿåò áîëåå æåñòêî ïðîâåðÿòü òèïû ïåðåìåííûõ è îïèñàíèå ìåòîäîâ åùå íà ýòàïå êîìïèëÿöèè...


Íå. Ýòî èñïîëüçîâàíèå òèïèçàöèè ïîçâîëÿåò ïðîâåðÿòü è êîíòðîëèðîâàòü. Ñîáñòâåííî ïðîâåðêó òèïèçàöèè ìîæíî èñïîëüçîâàòü è â AS1, åñëè êîìó ýòî íåîáõîäèìî (íî ñ òî÷êè çðåíèÿ âûïîëíåíèÿ ïðîãðàììû ïðîñòî â ýòîì íåò ñìûñëà - â AVM1 íåò äèíàìè÷åñêîé òðàíñëÿöèè êîäà)
Íî ïîäëèííî äèíàìè÷åñêîìó êîäó ïðîâåðêà òèïèçàöèè òðàíñëÿòîðîì òîëüêî ïîìåõà.


Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
âîáùåì ñìûñëà óñòðàèâàòü õîëèâàð ÿ íå âèæó íðàâèòüñÿ íà ïðîòîòèïàõ - äàé áîã, ïðîñòî ...äóìàþ íåêîòîðûõ ìîæåò ââåñòè â çàáëóæäåíèå ÷òî âñå òàê ïëîõî.


Ïëîõî íå òî, ÷òî êòî-òî ïèøåò íà êëàññàõ èëè ïðîòîòèïàõ. À òî, ÷òî AVM1 îñòàíîâèëè â ðàçâèòèè. Âåäü ñòîèëî â íåå äîáàâèòü ðàáîòó õîòÿ áû ñ òåì æå ByteArray è ïðî AS3 âñïîìèíàëè áû òîëüêî ñèøíèêè (õîòÿ ìíå ñòðàííî, ÷òî îíè äåëàþò âî ôëåøå, êîãäà åñòü WPF ñ C#) èëè 3D-øíèêè (êîä ñ äèíàìè÷åñêîé òðàíñëÿöèåé ïîøóñòðåé áóäåò â ìîùíûõ òðèãîíîìåòðè÷åñêèõ âû÷èñëåíèÿõ).

Öèòàòà(white-shadow @ 20.06.2009 - 02:13) *
È âîîáùå ïðîòîòèï îí ÷òîáû äîáàâèòü ñâîþ ôóíêöèþ, ðàñøèðèòü ôóíêöèîíàë òàê ñêàçàòü, íàïðèìåð èç æèçíè:
åñòü ByteArray è åñòü ó íåãî ìåòîä compress(algo: String) íî âî ôëåø ïëååðå íåòó äåôëåéòà òîêà zlib (algo = void - compress() ) ïîýòîìó ïðèõîäèòüñÿ ïåðåïèñûâàòü àëãîðèòì ñæàòèÿ íà ôëåø è î÷åíü óäîáíî ðàñøèðèòü ByteArray íîâûì ìåòîäîì CompressDeflate...


Ïðîòîòèï ìîæíî èñïîëüçîâàòü êàê óãîäíî. Ìîæíî è äëÿ ðàñøèðåíèÿ. Êàê óäîáíî áûëî â AS1 ðàñøèðÿòü ÍÅÏÎÑÐÅÄÑÒÂÅÍÍÎ íàòèâíûå êëàññû... Ìîæíî áûëî áû è ñ ByteArray òàê äåëàòü:
Êîä
ByteArray.prototype.ìîé_ìåòîä=function(){...}

À ìîæíî áûëî è ïîäêëàññ ñäåëàòü:
Êîä
SubByteArray.prototype=new ByteArray()

èëè òàê:
Êîä
SubByteArray.prototype.__proto__=ByteArray.prototype


--------------------
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
white-shadow
ñîîáùåíèå 22.06.2009 - 21:53
Ñîîáùåíèå #60


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 7
Ðåãèñòðàöèÿ: 18.06.2009
Ïîëüçîâàòåëü ¹: 9330



Ñðàçó: âû òðåáóåòå êîíêðåòèêè, íî ñàìè ãîâîðèòå ãèáêî è ãèáêî, õîòü îäèí ïðèìåð ðåàëüíîãî ïðèìåíåíèÿ êîäà â ñòóäèþ (îñîáåííî ïðî ìåòîä ñóïåðêëàññà ïî ýêçåìïëÿðó).

ByteArray.prototype.ìîé_ìåòîä=function(){...} - ýòîò êîä çàìå÷àòåëüíî ðàáîòàåò â AS3
à ÷òî ìîæåò áûòü íåëîãè÷íîãî â òîì ÷òî ÷òîáû íàéòè îïèñàíèå êëàññà íóæíî îòêðûòü ôàéë ñ åãî èìåíåì (çû êîìïèëÿòîðû âïðèíöå ïîáàðàáàíó ñêîëüêî èõ).
êàê ìîæíî ïðîâåðèòü êîä:
Êîä
ByteArray.prototype.myfunc = function (a: Number) {
   // ....
}

var b: ByteArray = new ByteArray();
b.myf();

íà ýòàïå êîìïèëÿöèè?

"Íî êàê ÿ ïèñàë â ï.19 äðóãîãî âûõîäà, êîãäà ïåðåìåííûå èìåþò îäíî èìÿ òåïåðü ÏÐÎÑÒÎ ÍÅT" çà÷åì ïåðåìåííûì äàâàòü îäíî èìÿ?

"Ýòî, âîçìîæíî, áûëî óäîáíî ïðîãðàììèñòàì-ðàçðàáîò÷èêàì àäîáà, íî íè ðàçó íå óäîáíî êîíå÷íîìó ïðîãðàììèñòó-ïîëüçîâàòåëþ ïðîäóêòà."
ïîëüçîâàòåëþ âîîáùå âñåðàâíî ñêîëüêî ó êîãî ãäå êëàññîâ, à òàêèì îáðàçîì ïðîãðàììèñòû ïðèó÷àþòñÿ ê ìîääóëüíîñòè.

"Íå ïîéìó, ê ÷åìó ýòî?" ýòî ê òîæó ÷òî ìîæíî ñêîëüêî óãîäíî äîêàçûâàòü ÷òî ÷òîòî ïëîõî è íåóäîáíî, à âñå â áîëüøåé ñòåïåíè çàâèñèò îò ïðîãðàììèñòà êîòîðûé ýòèì ïîëüçóåòñÿ, åñëè íåõâàòàåò îïûòà/óìåíèÿ òî è íèêàêèå ÿçûêîâûå êîíñòðóêöèè íå ïîìîãóò, à åñëè âåðíóòüñÿ ê îáúåìó - òî ðàçìåð èñõîäíîãî êîäà íà îäíîì ÿçûêå íå ãîâîðèò î ðàçìåðå åãî ñêîìïëèèðîâàííîé âåðñèè (åñëè èñõîäíèê íà ÀÑ3 è ïîëó÷èòüñÿ áîëüøå â êèëîáàéòàõ òî íå çíà÷èò ÷òî îí áóäåò áîëüøå â èñïîëíÿåìîì âèäå, à ñêîðåå íàîáîðîò). Ñíà÷àëà òîæå êðè÷àëè ïðî XP êàê âñå ïëîõî, à 98 ðóëèò è òîæå ãîâîðèëè âîò òóò ïîäðóãîìó òóò íå òàê è ò.ï., íî ðåàëüíî ïîðàáîòàâ ñåé÷àñ òàêîãî ÷åëîâåêà óæå íå âñòðåòèøü (èç Windows ïîëüçîâàòåëåé).


"À èíêàïñóëÿöèÿ, êîãäà ó ýêçåìïëÿðà ìû ìîæåì âûçâàòü ìåòîä åãî ñóïåðêëàññà ÷åðåç __proto__ íè ðàçó íå íàðóøàåòñÿ" - íå èãíîðèðóéòå òåêñò ìîåãî ïîñòà, ÿ ñðàçó íàïèñàë ïðèìåðû. À â îòíîøåíèè ïîëèìîðôèçìà - âñå äîâîëüíî óçêî - êàê áûëî â ïðîöåäóðíîì ïðîãðàììèðîâàíèè:
îäíî èìÿ ôóíêöèè íî ìíîãî ðåàëèçàöèé ñ ðàçíûìè ïàðàìåòðàìè, òàê è îñòàëîñü òîëüêî â äðóãîé ôîðìå (ïàðàìåòðû âûíåñåíû â ñâîéñòâà êëàññà)...

"Ýòî íå àðãóìåíò. Ýòî ñïîðíîå óòâåðæäåíèå (åñëè ðå÷ü ñî ñðàâíåíèåì ñ ÎÎÏ íà ïðîòîòèïàõ)".
"è ïðî AS3 âñïîìèíàëè áû òîëüêî ñèøíèêè" à ýòî áåññïîðíîå èç ÷åãî ñëåäóåò?

÷òî íåëüçÿ èñïîëüçîâàòü __proto__ ó ýêçåìïëÿðà ýòî ëàäíî çà÷åì ýòî íóæíî, ñïîðèòü ïðî ïîíÿòèÿ ñìûñëà íåò êàê è èõ îäíîçíà÷íîãî îïðåäåëåíèÿ, íî çà òàêîé ïîäõîä ê ïðîãðàììèðîâàíèþ....

àäîá õî÷åò íàó÷èòü ëþäåé õîðîøåìó òîíó â ïðîãðàììèðîâàíèè è íå âñå ñ ýòèì ñîãëàñíû, ÈÌÕÎ.



Ñîîáùåíèå îòðåäàêòèðîâàë white-shadow - 23.06.2009 - 00:17
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ

7 ñòðàíèö V  < 1 2 3 4 5 > » 
Îòâåòèòü â ýòó òåìóÎòêðûòü íîâóþ òåìó
1 ÷åë. ÷èòàþò ýòó òåìó (ãîñòåé: 1, ñêðûòûõ ïîëüçîâàòåëåé: 0)
Ïîëüçîâàòåëåé: 0

 



- Òåêñòîâàÿ âåðñèÿ Ñåé÷àñ: 22.05.2013 - 03:14