คลาสและคุณสมบัติ
จำลองข้อมูลด้วยคลาส
คลาสและคุณสมบัติ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศฟังก์ชัน
- คลาสและคุณสมบัติ
- คอนสตรักเตอร์และ init
- คลาสข้อมูล