0Pricing
Android Academy · บทเรียน

คลาสและคุณสมบัติ

จำลองข้อมูลด้วยคลาส

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

คลาสคืออะไร

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

ตัวอย่างเช่น คลาส Dog อาจอธิบายชื่อ อายุ และเสียงเห่าของสุนัขทุกตัว

การประกาศคลาส

คุณประกาศคลาสด้วยคีย์เวิร์ด class และชื่อ คลาสจะใช้รูปแบบPascalCase

คลาสว่างก็ใช้งานได้อย่างถูกต้อง และคุณสามารถละวงเล็บปีกกาได้ด้วย

class Dog

fun main() {
    println("Class declared")
}

การสร้างออบเจ็กต์

ออบเจ็กต์ (หรืออินสแตนซ์) คือสิ่งที่สร้างขึ้นจริงจากคลาส ใน Kotlin คุณสร้างออบเจ็กต์โดยเรียกชื่อคลาสเหมือนฟังก์ชัน

สังเกตว่าไม่มีคีย์เวิร์ด new

class Dog

fun main() {
    val rex = Dog()
    println(rex)
}

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้คือตัวแปรที่เป็นของคลาส คุณประกาศไว้ภายในเนื้อหาคลาสด้วย val หรือ var

ใช้ val กับค่าที่ไม่เปลี่ยนแปลง และใช้ var กับค่าที่เปลี่ยนแปลงได้

class Dog {
    var name: String = "Rex"
    var age: Int = 3
}

fun main() {
    val d = Dog()
    println(d.name)
}

การเข้าถึงพร็อพเพอร์ตี

ใช้ สัญลักษณ์จุด เพื่ออ่านหรือเปลี่ยนพร็อพเพอร์ตี: object.property

เนื่องจาก name เป็น var เราจึงกำหนดค่าใหม่ให้ได้

class Dog {
    var name: String = "Rex"
}

fun main() {
    val d = Dog()
    d.name = "Buddy"
    println(d.name)
}

พร็อพเพอร์ตีแบบ val กับ var

พร็อพเพอร์ตีแบบ val จะอ่านได้อย่างเดียวหลังจากกำหนดค่าแล้ว หากพยายามกำหนดค่าใหม่ จะเกิดข้อผิดพลาดระหว่างคอมไพล์

พร็อพเพอร์ตีแบบ var สามารถกำหนดค่าใหม่ได้กี่ครั้งก็ได้ตามต้องการ

class Circle {
    val pi = 3.14
    var radius = 1.0
}

fun main() {
    val c = Circle()
    c.radius = 5.0
    println(c.radius)
}

เมธอด

ฟังก์ชันที่ประกาศอยู่ภายในคลาสเรียกว่า เมธอด เมธอดสามารถใช้พร็อพเพอร์ตีของคลาสได้โดยตรง

ในตัวอย่างนี้ bark ใช้พร็อพเพอร์ตี name

class Dog {
    var name: String = "Rex"
    fun bark() {
        println(name + " says Woof!")
    }
}

fun main() {
    Dog().bark()
}

ออบเจ็กต์หลายรายการ

ออบเจ็กต์แต่ละรายการมีสำเนาของพร็อพเพอร์ตีเป็นของตนเอง การเปลี่ยนออบเจ็กต์หนึ่งจะไม่ส่งผลต่ออีกออบเจ็กต์หนึ่ง

ในตัวอย่างนี้ a และ b เก็บชื่อแยกจากกัน

class Dog {
    var name: String = ""
}

fun main() {
    val a = Dog()
    val b = Dog()
    a.name = "Rex"
    b.name = "Max"
    println(a.name + " " + b.name)
}

ค่าเริ่มต้นของพร็อพเพอร์ตี

พร็อพเพอร์ตีทุกรายการต้องมีค่า คุณสามารถกำหนดค่าเริ่มต้นที่เหมาะสมเมื่อตอนประกาศได้

ด้วยวิธีนี้ ออบเจ็กต์ใหม่จะเริ่มต้นในสถานะที่ทราบแน่ชัด แทนที่จะมีค่าไม่ได้กำหนด

class Counter {
    var count: Int = 0
    fun increment() {
        count = count + 1
    }
}

fun main() {
    val c = Counter()
    c.increment()
    println(c.count)
}

การทำงานร่วมกันของพร็อพเพอร์ตีและเมธอด

คลาสจะมีประโยชน์มากที่สุดเมื่อพร็อพเพอร์ตีและเมธอดทำงานร่วมกัน เมธอดสามารถอ่านและอัปเดตพร็อพเพอร์ตีของออบเจ็กต์นั้นเองได้

ในตัวอย่างนี้ haveBirthday จะเพิ่มค่าพร็อพเพอร์ตี age ทุกครั้งที่มีการเรียกใช้

class Dog {
    var name: String = "Rex"
    var age: Int = 1
    fun haveBirthday() {
        age = age + 1
    }
}

fun main() {
    val d = Dog()
    d.haveBirthday()
    println(d.age)
}

คลาสจำลองสิ่งต่าง ๆ ในโลกจริง

คลาสช่วยให้คุณจำลองแนวคิดในโลกจริงด้วยโค้ดได้

  • พร็อพเพอร์ตีอธิบายว่าสิ่งนั้นมีอะไร
  • เมธอดอธิบายว่าสิ่งนั้นทำอะไรได้

ใน Android หน้าจอ ปุ่ม และโมเดลมุมมอง ล้วนสร้างขึ้นจากคลาส

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

ทดสอบความเข้าใจเกี่ยวกับคลาสและพร็อพเพอร์ตีของคุณ

ทบทวน

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

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

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

บทเรียน “คลาสและคุณสมบัติ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “คลาสและคุณสมบัติ”

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

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

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

บทเรียน “คลาสและคุณสมบัติ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ประกาศฟังก์ชัน
  2. คลาสและคุณสมบัติ
  3. คอนสตรักเตอร์และ init
  4. คลาสข้อมูล
← กลับไปที่ Android Academy