ประเภทของ initializers ใน Swift
ใน Swift initializers เป็นเมธอดพิเศษที่ถูกเรียกใช้เมื่อมีการสร้างอินสแตนซ์ของคลาส struct หรือ enum ใช้เพื่อตั้งค่าสถานะเริ่มต้นของอินสแตนซ์ และสามารถใช้พารามิเตอร์เพื่อปรับแต่งกระบวนการเริ่มต้นได้
มี initializers สองประเภทใน Swift: initializers ที่กำหนดและ initializers อำนวยความสะดวก มาดูกันดีกว่าว่าแต่ละตัวต่างกันอย่างไร
Initializers ที่กำหนด
initializers ที่กำหนดเป็นวิธีหลักในการเริ่มต้นอินสแตนซ์ใหม่ของคลาส struct หรือ enum พวกเขามีหน้าที่รับผิดชอบในการเริ่มต้นคุณสมบัติทั้งหมดของอินสแตนซ์ และต้องเรียก initializer ที่กำหนดของซูเปอร์คลาสก่อนดำเนินการดังกล่าว
นี่คือตัวอย่างของ initializer ที่กำหนดสำหรับPerson
คลาสอย่างง่าย:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name self.age = age
}
}
Initializers อำนวยความสะดวก
initializers สะดวกคือ initializers รองที่ให้ทางลัดเพื่อเตรียมใช้งานอินสแตนซ์ของคลาส โครงสร้าง หรือ enum พวกเขาต้องเรียก initializer ที่กำหนดของคลาสเดียวกันก่อนที่จะทำอย่างอื่น ในระยะสั้นเราใช้มันเพื่อความสะดวกของเราในการเริ่มต้น
ต่อไปนี้เป็นตัวอย่างของเครื่องมือเริ่มต้นที่สะดวกสำหรับPerson
ชั้นเรียน:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
บทสรุป
โดยสรุป initializers ที่กำหนดเป็นวิธีหลักในการเริ่มต้นอินสแตนซ์ใหม่ของคลาส โครงสร้าง หรือ enum และมีหน้าที่รับผิดชอบในการเริ่มต้นคุณสมบัติทั้งหมดของอินสแตนซ์ ตัวเริ่มต้นที่สะดวกมีทางลัดเพื่อเริ่มต้นอินสแตนซ์ด้วยชุดของพารามิเตอร์เฉพาะ และต้องเรียกตัวเริ่มต้นที่กำหนดไว้ในคลาสเดียวกันก่อนที่จะดำเนินการอย่างอื่น
เมื่อเข้าใจความแตกต่างระหว่าง initializers ที่กำหนดและเครื่องมืออำนวยความสะดวก คุณจะสามารถเขียนโค้ดที่มีประสิทธิภาพและประสิทธิผลมากขึ้น และสร้างอินสแตนซ์ของคลาส โครงสร้าง และ enums ของคุณได้ง่ายขึ้น
โปรดปรบมือและติดตามหากคุณชอบโพสต์นี้