الفرق بين Class و Object في البرمجة
الفرق الأساسي بين Class و Object هو أن الـ Class هو النموذج أو القالب الذي يحدد الخصائص والسلوكيات، بينما الـ Object هو كائن محدد ومُنفذ من هذا القالب يحتوي على بيانات فعلية. ببساطة، الـ Class هو فكرة أو تصميم، والـ Object هو نسخة حية ومُستخدمة من هذه الفكرة.
ما هو الـ Class؟
الـ Class عبارة عن هيكل أو قالب يُستخدم في البرمجة الشيئية (Object-Oriented Programming) لتعريف مجموعة من الخصائص (Attributes) والوظائف أو الطرق (Methods) التي تُحدد كيف يجب أن يكون الكائن (Object). يمكننا التفكير في الـ Class على أنه مخطط بناء أو قالب مصنع يُحدد شكل ومهام الأشياء المشابهة التي سيتم إنشاؤها منه.
فعلى سبيل المثال، إذا كان لدينا Class يُسمى "سيارة"* فإنه يحتوي على خصائص مثل اللون، الماركة، وسنة الصنع، بالإضافة إلى وظائف مثل تشغيل المحرك أو التوقف. لكن حتى هذه المرحلة، الـ Class مجرد تعريف أو وصف بدون وجود شيء فعلي يُمكن استخدامه.
ما هو الـ Object؟
الـ Object هو مثيل فعلي أو نسخة محددة تُنشأ استنادًا إلى الـ Class. كل Object يحتوي على بيانات فعلية خاصة به ضمن الخصائص التي حددها الـ Class. عند إنشاء Object من Class معين، تصبح له قيم خاصة تسمح له بأن يكون فريداً.
مثلاً، بناءً على الـ Class "سيارة"* يمكننا إنشاء Object يمثل سيارة حمراء الماركة "تويوتا" وسنة الصنع 2020. كل سيارة تُنشأ بشكل منفصل تُعتبر Object مستقل بخصائصه وقيمه.
كيف يرتبط الـ Class بالـ Object؟
يمكن تشبيه الـ Class بأنه وصف مباشر لكائن معين، بينما الـ Object هو التطبيق والتنفيذ الحقيقي لهذا الوصف. لذا، يمكنك إنشاء العديد من الـ Objects من نفس الـ Class، ولن تختلف فكرة الـ Class الأساسية، لكن كل Object سيكون له بيانات مختلفة خاصة به.
هذا الفرق مهم جداً في البرمجة الشيئية حيث يُساعد على تنظيم الكود وجعله أكثر قابلية للتوسع وإعادة الاستخدام. فالـ Class يحدد البنية والوظائف، بينما الـ Objects تستخدم هذه البنية مع بيانات مختلفة لإنجاز مهام محددة.