คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ
คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ
คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 1 บทเรียน
บทนำ
สวัสดีค่ะ
ในบทเรียนก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับคุณสมบัติที่จัดเก็บแล้ว นอกจากนี้เรายังสามารถกำหนดคุณสมบัติแบบขี้เกียจและคุณสมบัติที่คำนวณได้
สิ่งที่เราเห็นในส่วนก่อนหน้านี้คือการจัดเก็บข้อมูลของคุณสมบัติที่จัดเก็บ
นอกเหนือจากนั้น เราสามารถกำหนดคุณสมบัติแบบคำนวณและแบบขี้เกียจได้
คุณสมบัติแบบขี้เกียจ
คุณสมบัติแบบขี้เกียจ
เมื่อยังไม่จำเป็นต้องสร้างค่าคุณสมบัติจนกว่าจะมีการใช้งานคุณสมบัตินั้นเป็นครั้งแรก คุณสามารถใช้คุณสมบัติที่จัดเก็บแบบขี้เกียจได้
เมื่อค่าของคุณสมบัติยังไม่ถูกใช้งานจนกว่าจะมีการใช้งานครั้งแรก เราสามารถใช้ค่าดังกล่าวเป็นคุณสมบัติที่จัดเก็บแบบขี้เกียจได้ ดังนั้น หากการสร้างออบเจ็กต์มีต้นทุนสูงและยังไม่จำเป็นต้องสร้างตั้งแต่แรก เราจะเลื่อนการสร้างออบเจ็กต์ไปจนกว่าจะมีการใช้งานออบเจ็กต์นั้นครั้งแรก เพื่อหลีกเลี่ยงการใช้ทรัพยากรโดยไม่จำเป็นและการสูญเสียประสิทธิภาพ หากต้องการเปลี่ยนคุณสมบัติที่จัดเก็บให้เป็นคุณสมบัติที่จัดเก็บแบบขี้เกียจ เราต้องใช้ตัวปรับแต่งแบบขี้เกียจ
class Person {
lazy var name: String = "Name"
var age:Int = 0
private var _lastName:String = ""
func profile() -> String {
return "I'm \(self.name) and I'm \(self.age) years old."
}
}
var p = Person()
p.name = "Coddy"
p.age = 10
print(p.profile())
คุณสมบัติที่คำนวณได้
คุณสมบัติที่คำนวณได้
คุณสมบัติที่คำนวณได้จะรับข้อมูลนำเข้าและส่งคืนผลลัพธ์ใหม่ เมื่อมองในครั้งแรกอาจคิดว่าทำงานเหมือนฟังก์ชัน อย่างไรก็ตาม คุณสมบัติที่คำนวณได้ใช้ไวยากรณ์จุดเช่นเดียวกับคุณสมบัติทั่วไป
ในตัวอย่างด้านล่าง เราจะเข้าใจความแตกต่างระหว่างเมธอดกับคุณสมบัติที่คำนวณได้มากขึ้น
ต่อเนื่อง
นอกเหนือจากคุณสมบัติที่จัดเก็บแล้ว คลาส โครงสร้าง และชนิดแจกแจงยังสามารถกำหนดคุณสมบัติที่คำนวณได้ ซึ่งไม่ได้เก็บค่าไว้จริง
แต่จะมีตัวรับค่าและตัวกำหนดค่าที่เป็นตัวเลือก เพื่อดึงและกำหนดคุณสมบัติหรือค่าอื่นโดยอ้อม
ตัวอย่าง
หากกำหนดบล็อกสำหรับการอ่านค่า { } ภายในการประกาศคุณสมบัติ คุณสมบัตินั้นจะกลายเป็นคุณสมบัติที่คำนวณได้ และจะไม่สามารถมีค่าเริ่มต้นได้ เพราะเมื่อเข้าถึงคุณสมบัติ ระบบจะเรียกใช้ฟังก์ชันสำหรับอ่านค่าที่ประกาศไว้ในคุณสมบัตินั้นทุกครั้ง
class Person {
lazy var name: String = "Name"
var age:Int = 0
private var _lastName:String = ""
var lastName:String{
get {
return _lastName
}
set {
_lastName = newValue
}
}
var profile:String{
get{
return "I'm \(self.name) and I'm \(self.age) years old."
}
}
}
var p = Person()
p.name = "Matt"
p.age = 40
/*
Normally, if it was a method, we would call it with the p.profile () method.
However, since it is propery, it was enough to call it with .profile.
*/
p.profileขอแสดงความยินดี
ขอแสดงความยินดี 🎉
ในบทเรียนนี้ เราได้เรียนรู้เกี่ยวกับพร็อพเพอร์ตีแบบขี้เกียจและพร็อพเพอร์ตีแบบคำนวณใน Swift
พบกันในบทเรียนถัดไป

คำถามที่พบบ่อย
บทเรียน “คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 1 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ”
คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน
บทเรียน “คุณสมบัติแบบประเมินผลช้าและคุณสมบัติที่คำนวณ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ