خطأ "Property must be initialized or be abstract" في Kotlin: الأسباب والحلول
مرحبًا! بدأت في تعلم Kotlin وواجهت خطأ لا أستطيع إصلاحه. أكتب تطبيق Android بسيطًا، ولدي class أعلن فيه عدة متغيرات. المترجم يعطي خطأ: "Property must be initialized or be abstract". إليك الكود الخاص بي:
```kotlin
class UserProfile {
var userName: String
var userAge: Int
var email: String
fun printInfo() {
println("الاسم: $userName، العمر: $userAge، البريد الإلكتروني: $email")
}
}
```
أريد أن تكون هذه الخصائص معلنة في class، ولكن بدون قيم أولية، لأنها ستمتلئ لاحقًا، مثل بعد تحميل البيانات من قاعدة البيانات أو بعد إدخال المستخدم. في Java، كان بإمكاني ببساطة إعلان الحقول بدون تهيئة، وكانت تأخذ قيمًا افتراضية (null لـ String، 0 لـ int). لكن هنا المترجم يشتكي. لماذا يحدث هذا؟ كيف يمكنني إعلان الخصائص بشكل صحيح بحيث لا تتطلب تهيئة مباشرة في class؟ جربت إضافة constructor، ولكن الخطأ لا يزال قائمًا.