मेरे पास एक प्रोग्राम है जहां मेरे पास बेस क्लास से प्राप्त कई कक्षाएं हैं। मैं विभिन्न उपवर्गों के सभी उदाहरण लेना चाहता हूं और उन्हें एक सरणी में रखना चाहता हूं। क्या कोई तरीका है जिससे मैं बेस क्लास से प्राप्त किसी भी चीज़ की खोज कर सकता हूँ?
उदाहरण के लिए, अभी बच्चों की संख्या प्राप्त करें, फिर देखें कि वे क्या हैं, इसलिए:
for (var i = 0; i < this.getNumChildren(); i++)
{
if (i is "type")
objectArray.push(i);
}
जहां प्रकार है, मुझे उदाहरण के आधार वर्ग को संदर्भित करने की आवश्यकता है, न कि उपवर्ग जिसने उदाहरण बनाया है।
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 ) {
}
}
}
मैं अनुमान लगा रहा हूं कि आप क्या पूछ रहे हैं: आइए मान लें कि आपके पास कक्षा बी में यह कोड है जो कक्षा ए को बढ़ाता है, और आप जो चाहते हैं वह टाइप बी के उदाहरण के लिए यह पता लगाने के लिए है कि इसका अपना सुपरक्लास क्या है (कक्षा ए ) चलने के समय पर।
यहां बताया गया है कि आप यह कैसे कर सकते हैं:
// 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;
अपनी अभिव्यक्ति में "प्रकार" के स्थान पर सुपरक्लास का उपयोग करें। यह टाइप बी के उदाहरण को उन सभी वस्तुओं को खोजने की अनुमति देगा जो टाइप ए के वंश को साझा करते हैं।
क्या आप यही पूछ रहे थे? यदि नहीं, तो कृपया स्पष्ट करें। यह मेरे लिए स्पष्ट नहीं है कि क्या आप पूछ रहे हैं कि बेस क्लास कैसे प्राप्त करें, या यदि आप गलत समझते हैं कि है ऑपरेटर कैसे काम करता है। यदि आप संलेखन के समय सुपरक्लास का नाम जानते हैं, तो आप इसे "टाइप" के स्थान पर क्यों नहीं रखेंगे?
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
flash
Adobe के बंद किए गए क्रॉस-प्लेटफ़ॉर्म मल्टीमीडिया रनटाइम पर प्रश्नों के लिए एनिमेशन, वीडियो और इंटरैक्टिव अनुप्रयोगों को वेब पेजों में एम्बेड करने के लिए उपयोग किया जाता है। मेमोरी से संबंधित प्रश्नों के लिए, टैग [फ्लैश-मेमोरी] का उपयोग करें।