मैं हमेशा अपने प्रोग्रामिंग प्रथाओं को बेहतर बनाने की कोशिश कर रहा हूं और मेरी एक आदत ने मुझे यह सोचकर प्राप्त किया है कि शायद यह सबसे अच्छा तरीका नहीं है। MouseEvent
फ़ंक्शन कॉल को संभालने पर मेरे पास पैरामीटर में MouseEvent
से Event
का उपयोग करने की प्रवृत्ति है।एएस 3: जब ईवेंट ठीक काम करता है तो माउसएवेंट को फ़ंक्शन परम के रूप में क्यों उपयोग करें?
उदाहरण:
mc.addEventListener(MouseEvent.CLICK, handleClick);
private function handleClick(e:Event):void
{
trace(e.currentTarget.name + " was Clicked");
}
वहाँ कुछ कार्यक्षमता या MouseEvent
Event
कक्षा में अनुपलब्ध के अंदर गुण है कि एक आवश्यकता के MouseEvent
अधिक का उपयोग कर बनाना होगा है? एकमात्र कारण मैं अपने बारे में सोच सकता हूं कि आपके ईवेंट/फ़ंक्शंस को दृढ़ता से टाइप किया जाए।
बहुत बढ़िया है, उदाहरण के और स्पष्टीकरण के लिए धन्यवाद। –
कोई समस्या नहीं! मुझे शायद यह भी ध्यान दिया जाना चाहिए कि एक अन्य कारण यह टाइपिंग के साथ जितना विशिष्ट हो उतना विशिष्ट हो सकता है, यह है कि एएस 3 कंपाइलर आपके ईवेंट हैंडलर तर्कों का कोई संकलन-समय टाइपशेकिंग नहीं करता है। यह किसी भी मामले के लिए भी सही है जहां आप फ़ंक्शन संदर्भ पास करते हैं (जैसे कॉलबैक के लिए)। यदि आपके पास कोई प्रकार या तर्क गिनती है, तो यह रनटाइम ब्रेकेज होगा। लेकिन सबसे बुरी स्थिति अभी भी विफल नहीं होती है लेकिन यह चाहिए ... साथ ही, जब आप सही प्रकार "माउसइवेंट" का उपयोग करते हैं, तो आपको सभी उपलब्ध गुणों के लिए अपने कोड संपादक स्वत: पूर्ण से लाभ होगा। –
इसके अलावा, जबकि आपका प्रश्न विशेष रूप से ईवेंट और इसके सबक्लास माउसइवेंट के बारे में है, अंतर्निहित अधिक सामान्य प्रश्न यह है कि: मुझे अपने उप-वर्गों के एक (या अधिक) के उदाहरण के लिए बेस क्लास संदर्भ का उपयोग कब करना चाहिए, और उस प्रश्न का उत्तर है एक त्वरित नहीं, बल्कि एक पुस्तक या विकिपीडिया से सामान्य रूप से बहुरूपता का स्पष्टीकरण: http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming –