inheritance - Why is 'textField' not instantiated when I subclass TextArea in Flex? -
संरक्षित textField संपत्ति पर कुछ अतिरिक्त कार्यक्षमता को लागू करने के लिए मैं TextArea और उत्तराधिकार के साथ प्रयोग कर रहा हूं
दुर्भाग्यवश, जब मैं उप-क्लास का एक नया उदाहरण बना देता हूं, तो यह गुण null पर सेट होता है मैं शायद जिस तरह से सुपर () काम करता है, लेकिन मुझे समझना था कि कन्स्ट्रक्टर के समाप्त होने के बाद इसे तत्काल दिया जायेगा।
यहां कोड का एक छोटा स्निपेट है जो TextArea :
सार्वजनिक अंतिम श्रेणी ExtTextArea TextArea का विस्तार करती है {सार्वजनिक फ़ंक्शन ExtTextArea () {super (); } सार्वजनिक फ़ंक्शन testTextField (): शून्य {if (textField == शून्य) Alert.show ("null!"); }}} इनवॉकिंग कोड सरल है:
var extTextArea: ExtTextArea = नया ExtTextArea (); extTextArea.testTextField (); अलर्ट में ExtTestArea प्रकट होता है जब मैं इस कोड को चलाऊँगा।
यह क्यों है? textField संपत्ति का उपयोग करने के लिए मुझे कुछ और करना पड़ता है?
चूंकि textField "इस पाठएरिया के पाठ को प्रदान करने वाली आंतरिक UITextField है" चूंकि मेरा मानना है कि यह नल रहेगा जब तक आप इसे .addChild (। ..) । मैंने यह सत्यापित करने के लिए एक त्वरित परीक्षण चलाया कि एक बार मैंने इसे प्रदर्शन के लिए जोड़ा है, अब यह अशक्त नहीं है। आप "सृजन पूर्ण" ईवेंट पर एक ईवेंट हैंडलर जोड़ना चाहते हैं और उस समय उसे समायोजित कर सकते हैं (मुझे लगता है)।
Comments
Post a Comment