การเขียนโปรแกรมแบบ Procedural (โพซูดู) กับแบบ Object Oriented (ออบเจ็ก ออเรนเต็ท) มีความแตกต่างกันอย่างไร
โปรแกรมแบบกระบวนคำสั่งหรือเชิงกระบวนการ Procedural Programming(โพชูดู โปรแกรมมิ่ง)
มีลักษณะการทำงานตามลำดับของคำสั่ง จากคำสั่งแรกจนถึงคำสั่งสุดท้าย บางคำสั่งอาจจะถูกทำซ้ำ หรือบางคำสั่งอาจจะไม่ถูกกระทำเลย ขึ้นอยู่กับเงื่อนไขในโปรแกรม ภาษาในกลุ่มนี้เหมาะสำหรับการเริ่มต้นทำความเข้าใจกับการเขียนโปรแกรมคอมพิวเตอร์ เนื่องจากช่วยให้ผู้เรียนรู้จักการคิดอย่างเป็นระบบ อันเป็นพื้นฐานสำคัญในการเขียนโปรแกรมภาษาอื่น นอกจากนี้ในภาษาโปรแกรมประเภทอื่นก็จะยังมีรูปแบบการทำงานเชิงกระบวนความแฝงอยู่ภายในด้วยเสมอ การใช้งานภาษาในกลุ่มนี้ เช่น งานคำนวณทางวิทยาศาสตร์อาจเลือกใช้ภาษา FORTRAN (ฟอร์แทรน) งานประมวลผลข้อมูลทางธุรกิจการเงินหรือธนาคารอาจเลือกใช้ภาษา COBOL (โคบอล) หรือภาษา RPG (อาร์พีจี) การเขียนโปรแกรมควบคุมการทำงานของระบบคอมพิวเตอร์มักเลือกใช้ภาษาซี เนื่องจากภาษาเครื่องที่ได้จะทำงานได้รวดเร็ว หรือการเรียนการสอนการโปรแกรมเชิงกระบวนความอาจเลือกใช้ภาษา Pascal (ปาสคาล) หรือ ภาษาซี เป็นต้น
OOP : ภาษาเชิงวัตถุ Object-Oriented Languages(ออฟเจ็ก ออเร็นเต็ท โปรแกรมมิง)
ภาษาเชิงวัตถุจะอำนวยความสะดวกให้กับผู้เขียนโปรแกรม ในการพัฒนาโปรแกรมที่ใหญ่ และซับซ้อนได้เป็นอย่างดี อีกทั้งยังสามารถใช้เขียนโปรแกรมในลักษณะเดียวกับภาษาเชิงกระบวนความได้ เช่นกัน ภาษาในกลุมนี้ เช่น ภาษา Java (จาวา) ภาษา C# (ซีชาร์ป) และภาษา C++ (ซีพลัสพลัส) และภาษาอื่น ๆ ซึ่งปัจจุบันได้รับความนิยมเขียนแบบ OOP
เปรียบเทียบแนวคิดระหว่างการเขียนโปรแกรมแบบกระบวนคำสั่ง และเชิงวัตถุ
ตัวอยางการ ตู้ขายเครื่องดื่มอัตโนมัติ
วิธีการคิดแบบการเขียนโปรแกรมแบบคำสั่ง
เมื่อมีการหยอดเหรียญเข้าตู้
1. ตรวจสอบจำนวนเหรียญและชนิดของเหรียญ
2. แสดงผลชนิดของน้ำที่สามารถเลือกซื้อได้
3. ตรวจสอบจำนวนน้ำกระป๋องที่มีอยู่ในตู้
4. รับผลการเลือกชนิดน้ำ
5. ส่งน้ำที่เลือกออกมาจากช่อง
6. จัดเก็บเงินเข้าระบบ
7. หากมีเงินทอน ให้ทอนเงินที่เหลือ ที่ช่องรับเงินทอน
วิธีการคิดแบบการเขียนโปรแกรมเชิงวัตถุ
ตู้ขายเครื่องดื่มอัตโนมัติ ประกอบด้วยส่วนประกอบต่าง ๆ ได้แก่ หน่วยตรวจสอบ และจัดการเรื่องเงิน หน่วยจัดการเครื่องดื่ม หน่วยแสดงผล และรอรับคำสั่ง
- หน่วยตรวจสอบและจัดการเรื่องเงิน มีข้อมูลเกี่ยวกับเงินที่ได้รับ และเงินที่มีอยู่ในระบบ สามารถรับและตรวจสอบเงินที่หยอดเข้ามาได้ และทอนเงินได้
- หน่วยจัดการเครื่องดื่ม มีข้อมูลชนิดของเครื่องดื่ม จำนวนเครื่องดื่ม สามารถจัดเตรียมชนิดเครื่องดื่มที่พอกับเงินที่หยอด และสามารถจ่ายเครื่องดื่มออกมาจากตู้ได้
- หน่วยแสดงผลและรอรับคำสั่ง มีหน้าที่รอรับคำสั่ง และแสดงผลเงินที่หยอดเข้ามา
อ้างอิง
wikipedia.org