क्लास आपके कोड को जेनेरिक, पुन: प्रयोज्य कोड के टुकड़ों में व्यवस्थित करने का एक तंत्र है। अपने सर्वोत्तम रूप में वे पुन: प्रयोज्य कोड स्निपेट हैं जिनका बार-बार थोड़े या बिना किसी संशोधन के उपयोग किया जाएगा। क्लास अवधारणा जैविक संग्रह से प्रेरित थी जिसमें विशेषताएं (एट्रिब्यूट्स) और क्षमताएं (मेथड्स) होती हैं।
फ़ंक्शन तब उपयोग करने के लिए महान हैं जब डेटा किए जा रहे कार्य के लिए महत्वपूर्ण है। क्लास तब महान हैं जब आपको एट्रिब्यूट्स और मेथड्स के संग्रह को दर्शाने की आवश्यकता होती है जिनका उपयोग अन्य स्थानों पर बार-बार किया जाएगा।
आम तौर पर यदि आप फ़ंक्शन के अंदर फ़ंक्शन लिखते हैं तो आपको क्लास लिखने पर विचार करना चाहिए। यदि किसी क्लास में केवल एक फ़ंक्शन है तो केवल फ़ंक्शन लिखना बेहतर है।
अपने प्रोग्रामिंग में फ़ंक्शन से क्लास की ओर जाने का एक अच्छा कारण विरासत के बजाय संरचना (composition) का उपयोग करके क्लास लिखना है।