Kotlin Multiplatform Academy · บทเรียน

คลาสข้อมูลสำหรับโดเมนของคุณ

โมเดล shared ที่ไม่เปลี่ยนแปลงพร้อม copy และ equals โดยไม่ต้องเขียนเพิ่ม

บทเรียน 1 จาก 413 ขั้นตอน

คลาสข้อมูลสำหรับโดเมนของคุณ เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน

โดเมนของคุณต้องมีโมเดล

ทุกแอปอธิบายสิ่งต่าง ๆ ในโลกจริง เช่น ผู้ใช้ คำสั่งซื้อ หรือเพลง ใน KMP คุณจำลองสิ่งเหล่านี้เพียงครั้งเดียวด้วย คลาสข้อมูลที่ใช้ร่วมกัน

ทำความรู้จักคลาสข้อมูล

คลาสข้อมูล เป็นชนิดข้อมูลขนาดเล็กที่สร้างขึ้นเพื่อเก็บค่า คุณเพียงเพิ่มคีย์เวิร์ดและระบุพร็อพเพอร์ตีไว้ในส่วนหัว

data class User(val id: Int, val name: String)

อยู่ใน commonMain

วาง โมเดล ไว้ใน commonMain แล้วแอป Android และ iOS จะมองเห็นโครงสร้างเดียวกันทุกประการโดยไม่ต้องเขียนซ้ำ

// shared/src/commonMain
data class User(val id: Int, val name: String)

สร้างอินสแตนซ์

สร้างโมเดลโดยเรียกใช้เหมือนฟังก์ชันและส่งค่าแต่ละค่าเข้าไป จากนั้นออบเจ็กต์จะเก็บ ข้อมูล ของคุณไว้ใช้งานได้ทุกที่

val ada = User(id = 1, name = "Ada")

อ่านพร็อพเพอร์ตี

เข้าถึงฟิลด์ใดก็ได้ด้วยจุด การอ่าน พร็อพเพอร์ตี ทำงานเหมือนกันในโค้ดที่ใช้ร่วมกัน Android และ iOS

val label = ada.name + " #" + ada.id

toString ฟรี

คลาสข้อมูลจะสร้าง toString ที่อ่านง่ายให้อัตโนมัติ ดังนั้นเมื่อพิมพ์โมเดล ระบบจะแสดงค่าของโมเดลแทนที่อยู่หน่วยความจำที่อ่านไม่รู้เรื่อง

println(ada) // User(id=1, name=Ada)

เปรียบเทียบจากค่า

โมเดลสองตัวที่มีฟิลด์เหมือนกันจะถือว่า เท่ากัน คลาสข้อมูลจะเปรียบเทียบจากเนื้อหา ไม่ใช่จากเอกลักษณ์ในหน่วยความจำ

User(1, "Ada") == User(1, "Ada") // true

คัดลอกพร้อมเปลี่ยนค่า

ฟังก์ชัน copy ที่มีให้จะสร้างสำเนาโมเดลพร้อมแทนที่เฉพาะฟิลด์ที่คุณระบุ โดยไม่แก้ไขโมเดลเดิม

val renamed = ada.copy(name = "Grace")

เลือกใช้ val แบบแก้ไขไม่ได้

ประกาศฟิลด์เป็น val เพื่อไม่ให้โมเดลเปลี่ยนแปลงหลังสร้างเสร็จ ข้อมูลที่แก้ไขไม่ได้จะปลอดภัยกว่าเมื่อต้องใช้ร่วมกันระหว่างแพลตฟอร์ม

data class Song(val title: String, val seconds: Int)

ประกอบโมเดลเข้าด้วยกัน

โมเดลสามารถเก็บโมเดลอื่นเป็นฟิลด์ได้ ทำให้คุณซ้อน คลาสข้อมูล เพื่อสะท้อนความสัมพันธ์จริงในโดเมนของคุณ

data class Playlist(val owner: User, val songs: List<Song>)

เหตุผลที่เรื่องนี้สำคัญ

เมื่อมีโมเดลที่ใช้ร่วมกันเพียงหนึ่งชุด Android และ iOS จะไม่มีทางเห็นโครงสร้าง ข้อมูล ของคุณไม่ตรงกัน ช่วยกำจัดข้อบกพร่องทั้งกลุ่มได้เลย 🙂

ตรวจสอบความเข้าใจ

ฟีเจอร์ใดที่มีให้ฟรีจากคลาสข้อมูลในที่นี้

สรุปทบทวน

คลาสข้อมูล ที่ใช้ร่วมกันใน commonMain มอบ copy, equals และ toString ให้ฟรี ช่วยให้คุณจำลองโดเมนเพียงครั้งเดียวสำหรับทั้งสองแอป

เริ่มต้นได้ฟรี

เรียนรู้ Kotlin ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “คลาสข้อมูลสำหรับโดเมนของคุณ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คลาสข้อมูลสำหรับโดเมนของคุณ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คลาสข้อมูลสำหรับโดเมนของคุณ”

โมเดล shared ที่ไม่เปลี่ยนแปลงพร้อม copy และ equals โดยไม่ต้องเขียนเพิ่ม คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “คลาสข้อมูลสำหรับโดเมนของคุณ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม

ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คลาสข้อมูลสำหรับโดเมนของคุณ
  2. Enum และคลาสปิดผนึกสำหรับสถานะ
  3. ความปลอดภัยของค่า null ในโมเดล shared
  4. ตัวช่วยตรวจสอบข้อมูลในโมเดล
← กลับไปที่ Kotlin Multiplatform Academy