สวัสดีครับผู้อ่านทุกท่าน! ในบทความนี้ เราจะมาพูดถึงเรื่องของการใช้งานฟังก์ชั่น set และ get รวมถึงหลักการเขียนโปรแกรมแบบวัตถุนิยม (Object-Oriented Programming - OOP) ในภาษาโปรแกรมมิ่ง COBOL ซึ่งอาจจะดูเหมือนเป็นภาษาที่เก่าแก่ แต่ก็ยังคงมีความสำคัญและใช้งานอยู่อย่างแพร่หลายในระบบการเงินและธุรกิจขนาดใหญ่ครับ
ในบทความนี้ ไม่เพียงแต่เราจะพูดถึงทฤษฎีเท่านั้น แต่เรายังจะมาลงมือทำกันด้วยการนำเสนอตัวอย่างโค้ดและยกตัวอย่างการใช้งานในโลกจริง ซึ่งจะช่วยให้คุณเข้าใจและเห็นภาพการใช้งานได้อย่างชัดเจนยิ่งขึ้นครับ
ในโลกของ OOP, `set` และ `get` เป็นฟังก์ชั่นพิเศษที่ใช้ในการแก้ไข (set) และเรียกดู (get) ค่าของแอตทริบิวต์ (attributes) ของอ็อบเจ็คซึ่งมักจะเป็นข้อมูลส่วนตัว (private data) ฟังก์ชั่นเหล่านี้ช่วยให้สามารถควบคุมการเข้าถึงข้อมูลจากภายนอกคลาสได้ และสามารถเพิ่มการตรวจสอบหรือการแจ้งเตือนข้อผิดพลาดได้ทันท่วงทีเมื่อข้อมูลไม่ถูกต้อง
แตกต่างจากภาษาโปรแกรมมิ่งสมัยใหม่ที่มีคลาสและอ็อบเจ็คที่ชัดเจน, COBOL นั้นถูกพัฒนาขึ้นในยุคที่แนวคิดของ OOP ยังไม่เป็นที่นิยม อย่างไรก็ตาม ในมาตรฐานของ COBOL 2002 ได้นำเอาความสามารถที่เกี่ยวข้องกับ OOP เข้ามาด้วยเช่นกัน ทำให้เราสามารถเขียนโปรแกรม COBOL ด้วยแนวคิด OOP ได้
ตัวอย่างต่อไปนี้จะช่วยให้คุณเห็นภาพของการใช้ `set` และ `get` ที่มีอยู่ใน COBOL:
ในตัวอย่างแรกนี้ เราจะสร้างคลาสเพื่อจัดการกับข้อมูลส่วนบุคคล (Personal Information):
IDENTIFICATION DIVISION.
PROGRAM-ID. PersonalInfo.
CLASS-ID. PersonalInfoClass.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Person-Properties PRIVATE.
05 Name PIC X(30).
05 BirthYear PIC 9(4).
PROCEDURE DIVISION.
METHOD-ID. SET-Name.
ARGUMENT NUMBER 1 PIC X(30).
PROCEDURE DIVISION USING BY VALUE NameToSet.
MOVE NameToSet TO Name.
END METHOD SET-Name.
METHOD-ID. GET-Name.
PROCEDURE DIVISION.
RETURNING Name.
END METHOD GET-Name.
METHOD-ID. SET-BirthYear.
ARGUMENT NUMBER 1 PIC 9(4).
PROCEDURE DIVISION USING BY VALUE YearToSet.
IF YearToSet > 1900 AND YearToSet <= YEAR(YYYY)
MOVE YearToSet TO BirthYear
ELSE
DISPLAY "Invalid Birth Year!"
END-IF.
END METHOD SET-BirthYear.
METHOD-ID. GET-BirthYear.
PROCEDURE DIVISION.
RETURNING BirthYear.
END METHOD GET-BirthYear.
END CLASS PersonalInfoClass.
IDENTIFICATION DIVISION.
PROGRAM-ID. MainProgram.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
REPOSITORY.
CLASS PersonalInfoClass.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 MyPersonalInfo OBJECT REFERENCE PersonalInfoClass.
PROCEDURE DIVISION.
INITIALIZE MyPersonalInfo.
INVOKE MyPersonalInfo "SET-Name" USING "John Doe".
INVOKE MyPersonalInfo "SET-BirthYear" USING 1985.
DISPLAY "Name: " INVOKE MyPersonalInfo "GET-Name".
DISPLAY "Birth Year: " INVOKE MyPersonalInfo "GET-BirthYear".
STOP RUN.
IDENTIFICATION DIVISION.
PROGRAM-ID. Employee.
CLASS-ID. Employee EXTENDS PersonalInfoClass.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Employee-Properties PRIVATE.
05 EmployeeID PIC 9(5).
05 Department PIC X(30).
PROCEDURE DIVISION.
METHOD-ID. SET-EmployeeID.
ARGUMENT NUMBER 1 PIC 9(5).
PROCEDURE DIVISION USING BY VALUE EmpID.
MOVE EmpID TO EmployeeID.
END METHOD SET-EmployeeID.
METHOD-ID. GET-EmployeeID.
PROCEDURE DIVISION.
RETURNING EmployeeID.
END METHOD GET-EmployeeID.
METHOD-ID. SET-Department.
ARGUMENT NUMBER 1 PIC X(30).
PROCEDURE DIVISION USING BY VALUE Dept.
MOVE Dept TO Department.
END METHOD SET-Department.
METHOD-ID. GET-Department.
PROCEDURE DIVISION.
RETURNING Department.
END METHOD GET-Department.
END CLASS Employee.
หนึ่งใน use cases ที่สำคัญของการใช้ `set` และ `get` ใน COBOL คือการจัดการข้อมูลลูกค้าในระบบธนาคาร ที่ต้องเก็บข้อมูลอย่างเป็นมาตรฐาน มีการตรวจสอบที่เข้มงวด และสามารถควบคุมการเปลี่ยนแปลงข้อมูลได้อย่างถูกต้องและปลอดภัย
การใช้ OOP และ `set` และ `get` เมื่อเขียน COBOL สามารถทำให้การเขียนโค้ดมีความยืดหยุ่น และช่วยปรับปรุงวิธีการจัดการข้อมูลในโปรแกรมให้ง่ายขึ้น ทำให้โปรแกรมนั้นๆ ทันสมัยและง่ายต่อการบำรุงรักษามากขึ้น ซึ่งก็เป็นกุญแจสำคัญในการพัฒนาซอฟต์แวร์ในยุคปัจจุบันครับ
เทคนิคเหล่านี้ไม่ได้มีประโยชน์เฉพาะในภาษา COBOL อย่างเดียว แต่ยังเป็นสิ่งที่จำเป็นในการเรียนรู้หลักการ OOP ซึ่งหลายๆ ภาษาสมัยใหม่ก็ยึดถือการใช้งานมันอยู่เช่นกัน
ถ้าคุณกำลังมองหาการเรียนรู้และพัฒนาทักษะในการเขียนโปรแกรมด้วย COBOL หรือหลักการ OOP ให้ลึกซึ้งยิ่งขึ้น เราที่ EPT พร้อมที่จะนำพาคุณสู่การเป็นผู้เชี่ยวชาญด้านโปรแกรมมิ่งผ่านหลักสูตรที่มีมาตรฐานสูงและประสบการณ์ตรงจากผู้เชียวชาญจริงครับ อย่ารอช้า เข้าร่วมการเรียนรู้ที่ EPT และต่อยอดความรู้ของคุณได้แล้ววันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM