ตอนที่ 8: การเขียนโปรแกรมแบบ OOP

. . . . . .สวัสดี ฮ่า ฮ่า หายไปซะนาน ต้องขออำภัยด้วยเด้อ อันเนื่องภารกิจมันเยอะจริงๆ T_T ครางนี้ เอ๊ย !! คราวนี้ โทษทีครางเพลิน เหอ เหอ เราจะเข้าสู่การเขียนโปรแกรมเชิงวัตถุ ซึ่งเป็นที่นิยมในการเขียนโปรแกรม และสร้างความยุ่งยาก ปวดหัวเวียนเกล้า ให้กับโปรแกรมเมอร์มือใหม่ยิ่งนัก เพราะการเขียนโปรแกรมแบบ OOP จะเขียนแบบสืบทอดกันระหว่าง สกุลต้นแบบและต่อสกุลไปเรื่อยๆ ไม่มีสิ้นสุด ทำงานโดยผ่านเวอร์ช่วนฟังค์ชั่น สามารถใช้ข้อมูลและความสามารถที่มีของ สกุลต้นได้ สามารถกำหนดคุณสมบัติเพื่อปกป้องได้ โอย......มึน !! เอาเป็นว่าตามความเข้าใจของผม มันก็แค่การเขียน struct มาตัวนึง มี field ต่างๆ แล้วเราก็เขียนฟังค์ชั่นจัดการข้อมูลภายใน struct เอง ก็แค่นั้น !! ขยายต่ออีกหน่อย ก็สามารถสืบทอดโครงสร้างกันได้ สามารถกำหนดขอบเขตการทำงานได้ และพิเศษกับฟังค์ชั่นแบบเสมือน จะอธิบายต่อไป เรามาดูโครงสร้างก่อนที่จะเป็น OOP กันครับ (เครื่องหมายจุดๆ ให้คิดว่าเป็นตัวว่างนะครับ)
typedef struct TData // <--------- กำหนดโครงสร้างชื่อ TData

{

. . . . . .char data[51]; //<------ กำหนด Field ชื่อ data

};

class CData //<------ กำหนด class ชื่อ CData

{

. . . . . .public: //<------- ประกาศว่าข้อมูลหลังจากนี้สามารถใช้ร่วมกันได้แบบสาธารณะ

. . . . . . . . .char data[51];

};

. . . . . .จากตัวอย่างข้างบน TData เป็นตัวแปรแบบ struct มี field ชื่อ data เป็นการเขียนแบบ C ธรรมดา ถ้าจะทำเป็นแบบ OOP ก็เปลี่ยนจาก struct เป็น class และการกำหนดตัวอักษรนำหน้าก็เปลี่ยนจาก T เป็น C ตรงนี้ไม่ได้เป็นกฎเกณฑ์ตายตัว แต่เพื่อความสวยงามและเป็นระเบียนเรียบร้อยเฉยๆครับ และเพิ่มการกำหนดขอบเขต การเข้าถึงข้อมูล เพิ่มข้อความ public เพื่อประกาศว่าข้อมูลหลังจากนี้สามารถใช้งานร่วมกันได้แบบสาธารณะ จะอธิบายรายละเอียดต่อไปเรื่อง public ที่เหลือก็กำหนดข้อมูลแบบเดิมๆครับ