क्या कोई तरीका है कि मैं "विस्तारित" वर्ग के कुछ गुणों को फ़िल्टर कर सकता हूं? उदाहरण के लिए मेरे पास यह है:

package src {
    import flash.display.*;
    import flash.display.MovieClip;

    public dynamic class code01 extends MovieClip {
     //// code

और फिर मुझे बस "alpha" संपत्ति और "scaleX" और "scaleY" चाहिए और MovieClip वर्ग से और कुछ नहीं। इसका कारण यह है कि अगर मेरे पास इस वर्ग से कई उदाहरण हैं, तो मेरा प्रदर्शन दिलचस्प नहीं होगा। तो अगर मैं अनावश्यक गुणों को फ़िल्टर कर सकता हूं, तो मेरा प्रदर्शन बेहतर होगा।

0
Katax Emperore 8 अप्रैल 2011, 08:57

2 जवाब

सबसे बढ़िया उत्तर

गुणों को "फ़िल्टर" नहीं किया जा सकता है, और आप गलत जगह पर अनुकूलन की तलाश कर रहे हैं। यदि आप फ़्रेम का उपयोग नहीं करते हैं, तो स्प्राइट क्लास का विस्तार करें। यदि आपको कंटेनरों की आवश्यकता नहीं है, तो आकार वर्ग का उपयोग करें। मूवीक्लिप क्यों? AS2 में यह एकमात्र डिस्प्ले ऑब्जेक्ट था, लेकिन अब आपके पास विकल्प है।

3
alxx 8 अप्रैल 2011, 09:33
2
+1 बिल्कुल सही है, कक्षा को गतिशील बनाकर भी, मुझे लगता है कि आप अनुकूलन के बिल्कुल विपरीत प्राप्त कर रहे हैं।
 – 
Taurayi
8 अप्रैल 2011, 11:42
गतिशील वर्ग वास्तव में कुछ हद तक बड़े होते हैं (इसे getSize() वैश्विक फ़ंक्शन के साथ मापा जा सकता है) और गतिशील संपत्ति लुकअप शायद ही तेज़ हो।
 – 
alxx
8 अप्रैल 2011, 12:15

यदि आप केवल कुछ गुण चाहते हैं तो विरासत का उपयोग न करें। (एक्शनस्क्रिप्ट में, इसे अन्य भाषाओं की तुलना में लागू करना अधिक कठिन हो सकता है।) यदि आप कर सकते हैं, तो वह करना बेहतर हो सकता है जो आप रचना का उपयोग करके करना चाहते हैं - अपने कोड01 वर्ग के अंदर एक निजी चर परिभाषित करें जिसमें मूवीक्लिप प्रकार की वस्तु शामिल हो .

1
jedd.ahyoung 8 अप्रैल 2011, 21:14