# การใช้งาน Constructor ในภาษา Swift แบบง่ายๆ
ในโลกของการเขียนโปรแกรม การเริ่มต้นสร้างออบเจ็กต์ใหม่นั้นสำคัญยิ่ง ซึ่งในภาษา Swift การสร้างอ็อบเจกต์นั้นเริ่มต้นด้วยการใช้งาน 'constructor' หรือที่หลายคนอาจเรียกว่า 'initializer' ซึ่งทำหน้าที่เป็นตัวกำหนดค่าเริ่มต้นให้กับอ็อบเจกต์ จุดประสงค์หลักคือเพื่อให้แน่ใจว่าทุกอ็อบเจกต์ที่ถูกสร้างขึ้นมานั้นจะมีสถานะที่ถูกต้องและพร้อมใช้งาน
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
let person = Person(name: "Somchai", age: 30)
ในตัวอย่างด้านบนนี้, `Person` คือ class ที่มี properties ด้วยกันสองอย่างคือ `name` และ `age` ส่วน `init` คือ constructor ที่กำหนดค่าเริ่มต้นให้กับ properties เหล่านั้น เมื่อเราสร้างอินสแตนซ์ของ `Person` เราจะต้องส่งค่า `name` และ `age` เข้าไปเพื่อกำหนดค่าเริ่มต้น
class Product {
var name: String
var price: Double
var discount: Double?
init(name: String, price: Double, discount: Double? = nil) {
self.name = name
self.price = price
self.discount = discount
}
}
let product = Product(name: "MacBook Pro", price: 1299.99)
ในตัวอย่างนี้ `Product` มีตัวแปรชื่อ `discount` ที่อาจจะไม่จำเป็นต้องใช้ในทุกสถานการณ์ ดังนั้นเราสามารถกำหนดให้มีค่าเริ่มต้นเป็น `nil` ซึ่งหมายความว่าไม่จำเป็นต้องระบุค่าลดเมื่อสร้าง `Product`
class Rectangle {
var width: Double
var height: Double
init?(width: Double, height: Double) {
if width <= 0 || height <= 0 {
return nil
}
self.width = width
self.height = height
}
}
if let rectangle = Rectangle(width: 10, height: 20) {
print("Rectangle width: \(rectangle.width), height: \(rectangle.height)")
} else {
print("Cannot create Rectangle with given dimensions.")
}
ใน `Rectangle`, constructor นี้คือ failable constructor (`init?`) ที่สามารถคืนค่า `nil` ได้ เพื่อหลีกเลี่ยงการสร้าง `Rectangle` ที่มีค่าไม่ถูกต้อง เช่น ความกว้างหรือความสูงที่เป็นลบหรือเป็นศูนย์ ซึ่งจะไม่สามารถใช้งานในทางปฏิบัติได้
หนึ่งใน usecase ที่เห็นได้ชัดเจนกับการใช้งาน constructor คือการสร้าง business model สำหรับโปรแกรม e-commerce เช่น การกำหนดคุณลักษณะ (attribute) ของสินค้า ราคา และการกำหนดโปรโมชัน โดยใช้ constructor เพื่อสร้าง instance ใหม่ทุกครั้งที่มีสินค้าใหม่เข้ามาในระบบ
การทำความเข้าใจเบื้องต้นเกี่ยวกับการใช้งาน constructor ใน Swift นั้นไม่เพียงแต่จะทำให้เราสามารถสร้าง object ที่มีสถานะถูกต้องได้ แต่ยังช่วยให้เราสามารถควบคุมโฟลว์หรือกระบวนการทำงานได้ดียิ่งขึ้นในแอพพลิเคชันของเรา
ณ EPT หรือ Expert-Programming-Tutor เราใส่ใจในรายละเอียดเหล่านี้อย่างมาก และมุ่งมั่นที่จะถ่ายทอดความรู้ดังกล่าวในคอร์สการเรียนการสอนของเรา หากคุณต้องการเรียนรู้การเขียนโปรแกรมที่มีพื้นฐานที่แข็งแกร่งและการประยุกต์ใช้งานที่หลากหลายในชีวิตจริง อย่าลืมที่จะติดต่อเราที่ EPT เพื่อเรียนรู้และเติบโตไปพร้อมๆ กับเรา!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: swift constructor initializer coding programming object-oriented class properties example failable_constructor business_model e-commerce learning tutorial
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM