Page 12 - เอกสารประกอบการสอนการโปรแกรมคอมพิวเตอร์
P. 12
2.2 ภาษาเชิงวัตถุ
การเขียนโปรแกรมเชิงวัตถุ เรียกว่า Object-Oriented Programming (OOP) คิดค้นโดย
Dr. Kristen Nygaardผู้เขียนโปรแกรมสามารถเปลี่ยนแปลงโปรแกรมที่เขียนมาแล้วได้ง่ายขึ้น และ
โปรแกรมที่เขียนขึ้นมาสามารถนาไปใช้ในโปรแกรมที่เขียนขึ้นใหม่ได้ โดยอาจมีการแก้ไขเพียงเล็กน้อ
หรือไม่แก้ไขเลย (Reusable) โดยผู้เขียนโปรแกรมจานวนหนึ่งได้เปลี่ยนการเขียนโปรแกรมแบบ
กระบวนค าสั่ง (Procedural Programming) ไปเป็นแบบ OOP เพราะโปรแกรมส่วนใหญ่ที่สร้างขึ้น
โดยการเขียนโปรแกรมแบบกระบวนค าสั่งมีแนวโน้มว่าจะเกิดความซับซ้อนสูง ส่งผลให้การแก้ไข การ
เปลี่ยนแปลงโปรแกรม และการนาบางส่วนของโปรแกรมมาใช้ใหม่ท าได้ยากขึ้น
วิธีการออกแบบโปรแกรม คือ ข้อแตกต่างระหว่างการเขียนโปรแกรมแบบกระบวนคาสั่งและ OOP
การออกแบบจากบนลงล่าง (Top-Down Approach) กล่าวคือผู้ออกแบบจะวิเคราะห์
ปัญหาโดยรวม (Problem Domain) และหาขั้นตอนการแก้ปัญหา (Algorithm) โดยแตกปัญหา
ออกเป็นส่วนย่อยๆ หรือฟงก์ชัน และใช้ภาษาคอมพิวเตอร์ (Programming Language) ในการ
ั
แก้ปัญหาแต่ละส่วน โดยแต่ละส่วนย่อย (Module) จะมีความสัมพันธ์ต่อกัน ถ้ามีการแก้ไข
เปลี่ยนแปลงบางส่วนในฟังก์ชันอาจกระทบกระเทือนทุกส่วนได้ ดังนั้นการออกแบบจากบนลงล่างจึง
เหมาะสมส าหรับการแก้ปัญหาที่ไม่ซับซ้อน ข้อจ ากัดของการออกแบบจากบนลงล่างอีกประการหนึ่ง
ี่
ี่
คือ ไม่มีความยืดหยุ่นของการน าโปรแกรมทเขียนแล้วกลับไปใช้ใหม่ ฟังก์ชันทมีอยู่ในโปรแกรมเดิม
ี่
อาจไม่มีความเหมาะสมทจะนาไปใช้กับโปรแกรมใหม่ เพราะฟังก์ชันนั้นถูกออกแบบให้ใช้กับการ
แก้ปัญหาใดปัญหาหนึ่งเท่านั้น ข้อดีของการการออกแบบเชิงวัตถุคือ โปรแกรมที่ถูกออกแบบแล้ว
สามารถแก้ไขได้ง่ายเพราะวัตถุแต่ละชิ้นมีความเป็นอิสระต่อกัน และวัตถุที่สร้างขึ้นมาแล้วสามารถน า
กลับไปใช้ใหม่ได้อีก
2.2.1 องค์ประกอบโปรแกรมเชิงวัตถุ แบ่งเป็น 4 ส่วนคือ
1. การจัดข้อมูลที่ไม่เกี่ยวข้องทิ้งไป(Abstraction)
2. การเข้ารวมเป็นส่วนหนึ่งของวัตถุ (Encapsulation)
3. การสร้างคลาสใหม่จากคลาสเดิมที่มีอยู่แล้ว(Inheritance)
4. การอนุญาตตั้งชื่อฟังก์ชันให้ซ้ ากันได้(Polymorphism)
เอกสารประกอบการสอนวิชาการโปรแกรมคอมพิวเตอร์ นาย นิรันดร์ ชุมสาย ณ อยุธยา