Tuesday, 15 September 2015

java - How to make this to OOP -


  @MotionSensingEvent पर सार्वजनिक शून्य को ओवरराइड करें (मोशन सेंसिंग ईवेंट arg0) {डबल ढाल = 1.38; डबल गति; फ्लोट testpitch = 0; Testpitch = arg0.get ऑरिएंटेशन ()। GetPitch (); फ्लोट टेस्टोल = 0; Testroll = arg0.get ऑरिएंटेशन ()। GetRoll (); यदि (टेस्टोल & gt; 16 & amp; amp; amp; amp; amp; amp; उड़ान नियंत्रण] {speed = gradient * testroll-22.1; System.out.println ("काना =" + गति); ardrone.goRight (गति); } और अगर (टेस्टोलल & lt; (-24) & amp; amp; amp; & amp; amp; नियंत्रण;) [गति = ग्रेडियंट * testroll * -1-22.1; System.out.println ("किरी =" + गति); ardrone.goLeft (गति); } और अगर (टेस्टपीट & lt; (-20) & amp; amp; amp; & amp; amp; नियंत्रण;) {System.out.println ("ऊपर जाना"); ardrone.up (); } और अगर (testpitch & gt; 20 & amp; amp; amp; amp; amp; amp; amp; amp; amp; नियंत्रण; कंट्रोल) {System.out.println ("नीचे जाना"); ardrone.down (); }} @ एक्स्टेंशन एवेन्ट पर विस्तारित सार्वजनिक ओरेराइड (विस्तारइवेंट ई) {जॉयस्टिकइवेंट आनन्द = मिलजॉयस्टिकइवेंट (ई); फ्लोट ग्रेडिंग = 64; फ्लोट की गति; फ्लोट कोण = 0; कोण = आनन्द.गेटएन्गल (); फ्लोट परिमाण = joy.getMagnitude (); अगर ((कोण & gt; 340 || कोण & lt; 20) & amp; amp; amp; amp; amp; amp; amp; & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; & amp; amp; नियंत्रण;) [गति = ग्रिडेंट * परिमाण -19; ardrone.forward (गति); } और अगर ((कोण & gt; 160 & amp; amp; & amp; amp; एंगल & lt; 200) & amp; amp; amp; amp; amp; परिमाण & gt; 0.49 & amp; amp; amp; amp; amp; और amp; amp; amp; amp; amp; amp; & amp; amp; नियंत्रण;) [speed = gradient * magnitude-19; ardrone.backward (गति); } और अगर ((कोण & gt; 70 & amp; amp; & amp; एंजः & lt; 110) & amp; amp; amp; amp; परिमाण> 0.7 & amp; amp; amp; amp; amp; & amp; amp; amp; ControlControl) {System.out.println ("दाएं मुड़ें"); ardrone.spinRight (); } और अगर ((कोण & gt; 250 & amp; amp; & amp; एंगल & lt; 290 & amp; amp; amp; और परिमाण & gt; 0.7 & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; ControlControl) {System.out.println ("turnleft"); ardrone.spinLeft (); }}   

मेरे पास यह कोड है, और मुझे इन सभी IF-ELSE चीजों को मुख्य वर्ग से निकालने में मदद की ज़रूरत है, इसे ओओपी में बनाओ लेकिन मुझे एक अच्छा तरीका पता नहीं है के साथ शुरू। मेरे पर्यवेक्षक ने श्रोता के बारे में कुछ कहा लेकिन मुझे समझ में नहीं आया। फ़्यय, मेरे पास उन श्रोता हैं लेकिन मैं उन्हें इस प्रश्न में शामिल नहीं करता।

तो फिर, क्या कोई मुझे बता सकता है कि इन सभी को हटाने के लिए यदि मुख्य वर्ग से बाहर है? बहुत बहुत धन्यवाद!

एक का उपयोग करने के बारे में क्या? यहां भिन्न भिन्न व्यवहार ऐसे ही अपने स्वयं के वर्ग में शामिल हो सकते हैं।

इस मामले में, ये समर्पित क्लास श्रोताओं के रूप में कार्य करेगा, जैसा आपके शिक्षक ने सोचा था।

आपके / अगर अन्य ब्लॉकों में दिए गए बयानों का प्रत्येक अनुक्रम तब एक विशिष्ट वस्तु में समझाया जाएगा ।

यह निम्नलिखित का पालन करने में बहुत मदद करेगा।

जब एक से अधिक ऑब्जेक्ट एक अनुरोध को संभाल सकता है और वास्तविक हैंडलर अग्रिम में ज्ञात नहीं है, तो आप उत्तरदायित्व की चेन।

यहां आपके कुछ उदाहरण (जीयूआई की घटनाएं) हैं:

No comments:

Post a Comment