# Class และ Instance คืออะไร? ทำความเข้าใจอย่างง่ายในภาษา Golang
บทความโดย: EPT (Expert-Programming-Tutor) - โรงเรียนสอนการเขียนโปรแกรม
โลกแห่งการเขียนโปรแกรมนั้นกว้างใหญ่และเต็มไปด้วยแนวคิดต่างๆ ที่ทำให้การสร้างแอปพลิเคชันหรือโปรแกรมต่างๆ สามารถทำได้สะดวกและมีระบบมากยิ่งขึ้น หนึ่งในแนวคิดพื้นฐานที่ถือเป็นหัวใจสำคัญก็คือ "Class และ Instance".
Class ในทางโปรแกรมมิ่งเป็นเหมือนแม่พิมพ์ที่เราสามารถนำมาสร้าง Object หรือ Instance ที่มีลักษณะคล้ายคลึงกันได้ มันประกอบด้วยข้อมูล (Data) และฟังก์ชัน (Functions) ที่กำหนดการทำงานต่างๆ ภายใน Instance ที่จะถูกสร้างขึ้นมา
Instance คือ Object ที่ถูกสร้างขึ้นโดยอาศัย Class เป็นแม่พิมพ์ สามารถมองว่า Instance คือเวอร์ชันที่เป็นรูปเป็นร่างของ Class ที่มีสถานะค่าข้อมูลที่เฉพาะเจาะจง
Golang เป็นภาษาที่มีการออกแบบมาให้เรียบง่ายและมีประสิทธิภาพ ทว่า Golang ไม่มี Class ในแบบที่ภาษาโปรแกรมอื่นๆ เช่น Java หรือ C++ มี แต่ Golang ใช้แนวคิด Struct และ Method ในการจำลองความสามารถของ Class และ Instance
ตัวอย่างที่ 1: การสร้าง Struct และ Method
package main
import "fmt"
// ประกาศ struct ที่เรียกว่า Vehicle เป็นแม่พิมพ์ของยานพาหนะ
type Vehicle struct {
Brand string
Model string
}
// Method ที่เชื่อมโยงกับ struct Vehicle
func (v Vehicle) PrintDetails() {
fmt.Printf("Brand: %s, Model: %s\n", v.Brand, v.Model)
}
func main() {
// สร้าง instance จาก struct Vehicle
car := Vehicle{Brand: "Toyota", Model: "Corolla"}
// เรียกใช้ method PrintDetails
car.PrintDetails()
}
ในตัวอย่างนี้, เรามี `Vehicle` เป็น struct ซึ่งเราสร้าง instance `car` จากมัน แล้วเราใช้ method `PrintDetails` เพื่อพิมพ์รายละเอียดของ `car`.
ตัวอย่างที่ 2: การใช้ interface ใน Golang
package main
import "fmt"
// ประกาศ interface ทีเรียกว่า Printer
type Printer interface {
PrintDetails()
}
// ประกาศ Struct
type Book struct {
Author, Title string
}
// Method ที่เชื่อมโยงกับ struct Book และทำให้ Book สามารถใช้ interface Printer
func (b Book) PrintDetails() {
fmt.Printf("Author: %s, Title: %s\n", b.Author, b.Title)
}
func main() {
// สร้าง instance จาก struct Book
book := Book{Author: "J.K. Rowling", Title: "Harry Potter"}
// เรียกใช้ method PrintDetails
book.PrintDetails()
}
ในตัวอย่างที่สองนี้, เราได้โชว์การใช้ interface เพื่อนำไปสู่ polymorphism ซึ่งเป็นความสามารถในการเรียก method เดียวกันจาก types ต่างๆ ที่รับประกันโดย interface.
การเรียนรู้เกี่ยวกับ Class และ Instance ผ่าน Golang นั้นไม่เพียงช่วยให้คุณเข้าใจแนวคิดเบื้องหลังการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming - OOP) แต่ยังช่วยทำให้คุณสามารถสร้างโปรแกรมที่มีประสิทธิภาพและมีระเบียบเรียบร้อย ที่ EPT เรามุ่งมั่นที่จะให้ความรู้และทักษะที่จำเป็นสำหรับการเป็นนักพัฒนาโปรแกรมที่เชี่ยวชาญ นั่นหมายถึงไม่เพียงแค่ภาษาโปรแกรมมิ่ง แต่ยังรวมถึงวิธีคิดและการแก้ไขปัญหาด้วย เรียนรู้การเขียนโปรแกรมกับเราที่ EPT และเริ่มสร้างอนาคตของคุณในโลกแห่งเทคโนโลยีที่ไม่หยุดนิ่งในวันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: class instance golang struct method interface polymorphism programming object-oriented_programming oop database_management reservation_system expert-programming-tutor
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com