การเขียนโปรแกรมเชิงวัตถุ หรือ OOP เป็นวิธีจัดระเบียบโค้ดโดยยึด ออบเจ็กต์ เป็นศูนย์กลาง ออบเจ็กต์จะเก็บข้อมูลที่เกี่ยวข้องและเมธอดที่ใช้จัดการข้อมูลนั้นไว้ด้วยกัน ทำให้โปรแกรมสามารถจำลองสิ่งต่าง ๆ เช่น บัญชีธนาคาร รถเข็นสินค้า หรือ ตัวละครในเกม ได้ตรงไปตรงมามากขึ้น
หัวใจของ OOP มีอยู่ 2 คำสำคัญคือ คลาส และ ออบเจ็กต์ คลาสใช้อธิบายว่าสิ่งหนึ่งควรมีอะไรบ้างและทำอะไรได้บ้าง ส่วนออบเจ็กต์คืออินสแตนซ์จริงที่ถูกสร้างขึ้นจากคลาสนั้น
การเขียนโปรแกรมเชิงวัตถุหมายถึงอะไร
ให้นึกว่าคลาสคือแบบพิมพ์เขียว และออบเจ็กต์คือของจริงที่สร้างจากแบบนั้น คลาส BankAccount อาจกำหนดยอดคงเหลือไว้ พร้อมเมธอดอย่าง deposit และ withdraw บัญชีของ Alice และบัญชีของ Bob จะเป็นออบเจ็กต์คนละตัวที่ใช้กฎเดียวกัน แต่เก็บยอดเงินคนละค่า
นี่จึงเป็นเหตุผลที่คนมักพูดว่า OOP รวม สถานะ และ พฤติกรรม ไว้ด้วยกัน สถานะหมายถึงข้อมูลที่ออบเจ็กต์เก็บไว้ ส่วนพฤติกรรมหมายถึงการกระทำที่ออบเจ็กต์นั้นทำได้
ทำไม OOP จึงช่วยให้โค้ดตามได้ง่ายขึ้น
OOP มีประโยชน์เมื่อโปรแกรมมีหน่วยหลักที่ชัดเจนและแต่ละหน่วยมีกฎของตัวเอง ถ้ายอดเงินเป็นของบัญชี โค้ดที่ใช้เปลี่ยนยอดเงินก็มักควรอยู่ในบัญชีนั้นด้วย แบบนี้จะทำให้เห็นได้ง่ายขึ้นว่าแต่ละส่วนรับผิดชอบอะไร
แต่ไม่ได้แปลว่าทุกโปรแกรมควรใช้คลาสไปทั้งหมด OOP จะมีประโยชน์เมื่อการรวมสถานะกับพฤติกรรมเข้าด้วยกันทำให้การออกแบบชัดเจนขึ้น ถ้าโจทย์เป็นการประมวลผลข้อมูลง่าย ๆ เป็นหลัก การใช้ฟังก์ชันธรรมดาอาจอ่านง่ายกว่า
ตัวอย่าง OOP ด้วยคลาส BankAccount
นี่คือตัวอย่างเล็ก ๆ ที่แสดงแนวคิดหลัก:
ต้องการความช่วยเหลือในการแก้โจทย์?
อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที
เปิด GPAI Solver →