การเขียนโปรแกรมเชิงวัตถุ (Object-oriented Programming) นั้น มีแนวคิดที่แตกต่างจากการเขียนโปรแกรมแบบดั้งเดิม ซึ่งมักจะใช้แนวคิดแบบ การเขียนโปรแกรมเชิงกระบวนการ (Procedural Programming) ที่ให้ความสำคัญกับขั้นตอนกระบวนการที่ทำ โดยแบ่งส่วนการทำงานออกเป็นส่วนต่าง ๆ ตามลำดับ ซึ่งหากเกิดปัญหาในขั้นตอนการทำงานใดการทำงานหนึ่ง ก็จะส่งผลให้ไม่สามารถทำงานอื่นต่อได้
?
Object-oriented Programming หรือ OOP เป็นหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่มีแนวคิดในการมองกระบวนการแต่ละอันให้เป็นวัตถุ (Object) ซึ่งมีการทำงานที่เป็นอิสระต่อกันและสามารถทำงานร่วมกันได้ อย่างเช่นโปรแกรมตู้ขายเครื่องดื่มอัตโนมัติ หากเป็นการเขียนโปรแกรมแบบเชิงกระบวนการ ก็จะมีขั้นตอนดังนี้
1. ตรวจสอบจำนวนและชนิดของเหรียญ
2. แสดงผลชนิดของน้ำที่สามารถซื้อได้
3. ตรวจสอบจำนวนน้ำกระป๋องที่มีอยู่ในตู้
4. รับผลการเลือกชนิดน้ำ
5. ส่งน้ำออกมาจากช่อง
6. จัดเก็บเงินเข้าระบบ
7. ทอนเงินที่เหลือ (ถ้ามี)
หากเปลี่ยนเป็นการเขียนโปรแกรมแบบ Object-oriented Programming ก็จะมองว่าตู้ขายน้ำดื่มจะประกอบไปด้วยหน่วยต่าง ๆ คือ
1. หน่วยตรวจสอบและจัดการเงิน ทำหน้าที่เกี่ยวกับเงินที่ได้รับ และเงินที่มีอยู่ในระบบ รวมถึงการตรวจสอบเงินที่หยอดและการทอนเงิน
2. หน่วยเครื่องดื่ม ทำหน้าที่จัดการเกี่ยวกับเครื่องดื่มในตู้ตั้งแต่การเช็คหยอด การจำหน่ายสินค้าที่มีราคาพอดีกับเงินที่หยอด และสั่งจ่ายเครื่องดื่ม
3. หน่วยแสดงผลและรอรับคำสั่ง