ما الفرق بين object و companion object في Kotlin؟ أمثلة
مرحباً بالجميع! بدأت في تعلم Kotlin ولا أستطيع فهم الفرق بين object العادي داخل الكلاس و companion object.\n\nلنفترض أنني أكتب كلاساً بسيطاً للعمل مع قاعدة البيانات:\n\n```kotlin\nclass DatabaseManager {\n object Config {\n val HOST = "localhost"\n val PORT = 5432\n }\n \n companion object {\n fun create(): DatabaseManager = DatabaseManager()\n }\n}\n```\n\nأرى أن كلا الخيارين ينشئان شيئاً مشابهاً للأعضاء الثابتة (static members) في Java. لكن لماذا إذن هناك آليتان مختلفتان؟ متى يجب استخدام object ومتى يجب استخدام companion object؟\n\nهل هناك أي تفاصيل دقيقة تتعلق بالوراثة (inheritance)، التسلسل (serialization)، أو الوصول من Java؟ سأكون ممتناً لشرح مفصل مع أمثلة.\n\n<<>>\n