मेरे पास एक प्रोग्राम है जहां मेरे पास बेस क्लास से प्राप्त कई कक्षाएं हैं। मैं विभिन्न उपवर्गों के सभी उदाहरण लेना चाहता हूं और उन्हें एक सरणी में रखना चाहता हूं। क्या कोई तरीका है जिससे मैं बेस क्लास से प्राप्त किसी भी चीज़ की खोज कर सकता हूँ?

उदाहरण के लिए, अभी बच्चों की संख्या प्राप्त करें, फिर देखें कि वे क्या हैं, इसलिए:

for (var i = 0; i < this.getNumChildren(); i++)
{
    if (i is "type")
        objectArray.push(i);
}

जहां प्रकार है, मुझे उदाहरण के आधार वर्ग को संदर्भित करने की आवश्यकता है, न कि उपवर्ग जिसने उदाहरण बनाया है।

1
Sean 14 अप्रैल 2011, 23:05

2 जवाब

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

"ऑब्जेक्ट टाइप है" सबक्लास और बेसक्लास दोनों के लिए सही होगा:

उदाहरण:

for (var i = 0; i < this.getNumChildren(); i++) {
    var c:* = this.getChildAt(i);
    if ( c is BaseClass ) {
        //true for both SubClass1 and SubClass2 instances
        objectArray.push(c);
        if ( c is SubClass1 ) {

        }
        else if ( c is SubClass2 ) {

        }
    }
}
3
Matt MacLean 14 अप्रैल 2011, 23:20

मैं अनुमान लगा रहा हूं कि आप क्या पूछ रहे हैं: आइए मान लें कि आपके पास कक्षा बी में यह कोड है जो कक्षा ए को बढ़ाता है, और आप जो चाहते हैं वह टाइप बी के उदाहरण के लिए यह पता लगाने के लिए है कि इसका अपना सुपरक्लास क्या है (कक्षा ए ) चलने के समय पर।

यहां बताया गया है कि आप यह कैसे कर सकते हैं:

// Get the name of the super class for this object
var superClassName:String = flash.utils.getQualifiedSuperclassName(this);

// Get a Class reference to that superclass
var superClass:Class = flash.utils.getDefinitionByName(superClassName) as Class;

अपनी अभिव्यक्ति में "प्रकार" के स्थान पर सुपरक्लास का उपयोग करें। यह टाइप बी के उदाहरण को उन सभी वस्तुओं को खोजने की अनुमति देगा जो टाइप ए के वंश को साझा करते हैं।

क्या आप यही पूछ रहे थे? यदि नहीं, तो कृपया स्पष्ट करें। यह मेरे लिए स्पष्ट नहीं है कि क्या आप पूछ रहे हैं कि बेस क्लास कैसे प्राप्त करें, या यदि आप गलत समझते हैं कि है ऑपरेटर कैसे काम करता है। यदि आप संलेखन के समय सुपरक्लास का नाम जानते हैं, तो आप इसे "टाइप" के स्थान पर क्यों नहीं रखेंगे?

2
Adam Smith 14 अप्रैल 2011, 23:29
क्या आप कृपया रिश्तेदार प्रश्न में मेरी सहायता कर सकते हैं
 – 
Ilya Gazman
28 पद 2013, 20:25