فئات البيانات لنطاق تطبيقكم
نماذج مشتركة غير قابلة للتغيير مع copy وequals مجانًا
فئات البيانات لنطاق تطبيقكم درس مجاني في Kotlin Multiplatform Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Multiplatform Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Your Domain Needs Models
Every app describes real things like users, orders or songs. In KMP you model them once with shared data classes.
Meet the data class
A data class is a small type built to hold values. You add the keyword and list the properties in the header.
data class User(val id: Int, val name: String)It Lives in commonMain
Put your model in commonMain and both the Android and iOS apps see the exact same shape with no duplication.
// shared/src/commonMain
data class User(val id: Int, val name: String)Create an Instance
Build a model by calling it like a function and passing each value. The object now carries your data everywhere.
val ada = User(id = 1, name = "Ada")Read the Properties
Access any field with a dot. Reading properties works the same in shared code, Android and iOS.
val label = ada.name + " #" + ada.idFree toString
A data class auto-generates a readable toString, so printing a model shows its values instead of a cryptic address.
println(ada) // User(id=1, name=Ada)Value-Based equals
Two models with the same fields are considered equal. Data classes compare by content, not by memory identity.
User(1, "Ada") == User(1, "Ada") // trueCopy with Changes
The free copy function clones a model while overriding only the fields you name, keeping the original untouched.
val renamed = ada.copy(name = "Grace")Prefer Immutable val
Declare fields as val so models cannot change after creation. Immutable data is safer to share across platforms.
data class Song(val title: String, val seconds: Int)Compose Models Together
A model can hold other models as fields, letting you nest data classes to mirror real relationships in your domain.
data class Playlist(val owner: User, val songs: List<Song>)Why This Matters
One shared model means Android and iOS can never disagree about your data shape, killing a whole class of bugs. 🙂
Quick Check
Which free feature did the data class give you here?
Recap
Shared data classes in commonMain give you copy, equals and toString for free, modeling your domain once for both apps.
تعلم Kotlin مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «فئات البيانات لنطاق تطبيقكم» مجاني؟
نعم — نص درس «فئات البيانات لنطاق تطبيقكم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Multiplatform Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.
ماذا ستتعلم في «فئات البيانات لنطاق تطبيقكم»؟
نماذج مشتركة غير قابلة للتغيير مع copy وequals مجانًا تتمرن على Kotlin Multiplatform Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Multiplatform Academy؟
لا تُشترط خبرة سابقة. Kotlin Multiplatform Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «فئات البيانات لنطاق تطبيقكم»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Multiplatform Academy هذا؟
نعم. كل درس في Kotlin Multiplatform Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فئات البيانات لنطاق تطبيقكم
- Enums وSealed Classes للحالة
- أمان القيم الفارغة في النماذج المشتركة
- مساعدات التحقق في نماذجكم