# set and get function และ OOP concept คืออะไร? กระจายความรู้ไปกับ Lua!
การเขียนโปรแกรมเป็นหัวใจสำคัญที่ทำให้เครื่องจักรและโปรแกรมต่างๆ สามารถทำงานได้ตามกระบวนการที่เราต้องการ หนึ่งในแนวคิดหลักที่ช่วยให้การเขียนโค้ดมีระเบียบและสามารถปรับแต่งให้เหมาะสมกับปัญหาได้หลากหลาย นั่นคือ OOP (Object-Oriented Programming) หรือการเขียนโปรแกรมแบบเน้นวัตถุ
OOP เป็นแนวคิดที่ช่วยให้นักพัฒนาสามารถจัดการกับข้อมูลและฟังก์ชันที่เกี่ยวข้องในรูปแบบของวัตถุหรือ "objects" ซึ่งแต่ละวัตถุจะมีคุณสมบัติ (properties) และพฤติกรรม (methods) ที่เฉพาะตัว
ใน OOP, set และ get functions เป็นส่วนสำคัญที่ช่วยจัดการกับข้อมูลของวัตถุ
- Set Function: ช่วยให้เราสามารถกำหนดค่าให้กับ properties ของ object ซึ่งสามารถทำให้เรามีโอกาสในการตรวจสอบค่าก่อนกำหนดให้กับ property - Get Function: ให้เราสามารถอ่านค่าของ properties โดยที่ไม่ต้องเข้าถึงตัว properties โดยตรง เหมาะสำหรับการ encapsulation ที่เป็นการซ่อนรายละเอียดที่นักพัฒนาไม่ต้องการให้ได้รู้
Lua ไม่ได้ถูกออกแบบมาเพื่อ OOP อย่างเต็มตัว แต่เราสามารถใช้ table เพื่อจำลองการทำงานของ objects ได้ ไปดูกันว่า set และ get functions ทำงานอย่างไรในภาษา Lua:
-- แสดงตัวอย่างการสร้าง object ใน Lua ที่มี set และ get functions
Person = {}
Person.__index = Person
function Person:new(name, age)
local self = setmetatable({}, Person)
local _name = name -- ใช้ _ ในการเป็น private variable
local _age = age
function self:setName(name)
-- ตรวจสอบค่าที่ใส่เข้ามา และกำหนดให้กับ _name
_name = name
end
function self:getName()
return _name
end
function self:setAge(age)
-- สามารถเพิ่มการตรวจสอบ age ที่ถูกต้องก่อนกำหนดค่า
_age = age
end
function self:getAge()
return _age
end
return self
end
-- สร้าง object จาก class Person
local person1 = Person:new("Somchai", 30)
print(person1:getName()) -- จะได้ Somchai
person1:setName("Somsri")
print(person1:getName()) -- จะเปลี่ยนเป็น Somsri
ตัวอย่างข้างต้นใช้ `setmetatable` เพื่อตั้งค่า meta table สำหรับ object `Person` ทำให้เราสามารถมี methods ที่เหมือนกันสำหรับทุก instances ที่เราสร้างขึ้นในภายหลัง โดยการใช้ set และ get functions เราสามารถควบคุมการเข้าถึงและการแก้ไขของข้อมูลได้
1. การจัดการกับผู้ใช้บนเว็บแอปพลิเคชัน
Lua มักจะถูกใช้ในการพัฒนาเว็บแอปพลิเคชัน เช่น ผ่านเฟรมเวิร์ค OpenResty เราสามารถจำลอง object `User` ที่มี set และ get functions เพื่อจัดการข้อมูลของผู้ใช้ เช่น การตรวจสอบความถูกต้องของรหัสผ่าน เป็นต้น
2. การจัดการข้อมูลในเกม
Lua มีการใช้งานอย่างแพร่หลายในอุตสาหกรรมเกมส์ เราสามารถสร้าง object `Player` ที่มี set และ get functions เพื่อจัดการกับตัวแปร เช่น ชีวิต(HP) หรือ พลังงาน(Mana) ทำให้การควบคุมตัวละครในเกมง่ายขึ้น
ผ่านความเข้าใจใน set และ get functions และ OOP concept ทำให้การเขียนโปรแกรมไม่ว่าจะเป็นใน Lua หรือภาษาอื่นๆ มีความคล่องตัวและเป็นระเบียบมากขึ้น หากคุณสนใจในการเขียนโปรแกรมแบบมืออาชีพและต้องการทำความเข้าใจ OOP ในระดับลึกมากขึ้น มาที่ Expert-Programming-Tutor (EPT) และร่วมเรียนรู้กับเราสิ! ที่นี่เรามีทูตอร์มืออาชีพพร้อมที่จะแนะนำทุกขั้นตอน เพื่อให้คุณสามารถสร้างโปรแกรมที่มีประสิทธิภาพและได้มาตรฐานได้อย่างไม่น่าเชื่อ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM