ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

การเขียนโปรแกรมแบบ 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ตัวอย่างการสร้าง Service odoo13 บน Ubuntu 16.04
โดย mindphp ส 12 ต.ค. 2019 1:35 am บอร์ด Linux - Web Server
0
21
ส 12 ต.ค. 2019 1:35 am โดย mindphp
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 3:30 pm บอร์ด Joomla Development
3
44
ศ 11 ต.ค. 2019 5:14 pm โดย เห็ด อินโมชั่น
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 4:59 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
7
65
ส 12 ต.ค. 2019 3:35 am โดย mindphp
อยากทราบวิธีนับจำนวน id ที่ซ้ำกัน ครับ
โดย jamepiyawat ศ 11 ต.ค. 2019 5:06 pm บอร์ด SQL - Database
3
39
ศ 11 ต.ค. 2019 6:20 pm โดย jamepiyawat
การ Search ค้นหาข้อมูลของบอร์ด phpBB
โดย aninthana พฤ 10 ต.ค. 2019 6:46 pm บอร์ด Wordpress user Guide Knowledge
0
39
พฤ 10 ต.ค. 2019 6:46 pm โดย aninthana
ทำป้าย PopUp ด้วย Modal ใน Bootstrap เวอร์ชั่น 4
โดย jamepiyawat พฤ 10 ต.ค. 2019 5:20 pm บอร์ด Booststap Knowledge
0
32
พฤ 10 ต.ค. 2019 5:20 pm โดย jamepiyawat
ทำยังไงถึงจะไม่ให้แสดงเลข ID หน้า Alias ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 4:03 pm บอร์ด Joomla Development
1
30
พฤ 10 ต.ค. 2019 6:02 pm โดย tsukasaz
ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 3:47 pm บอร์ด Joomla Development
2
36
พฤ 10 ต.ค. 2019 6:36 pm โดย jamepiyawat
ตัวเลขด้านหน้าข้อความที่เราตั้ง Alias คืออะไรครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 11:36 am บอร์ด Joomla Development
5
40
พฤ 10 ต.ค. 2019 2:46 pm โดย mindphp
แก้ปัญหา Error Ignoring file '50unattended-upgrades.ucf-old' in directory บน Ubunto 16.04 ติดตั้ง apt-get
โดย mindphp พฤ 10 ต.ค. 2019 5:42 am บอร์ด Linux - Web Server
0
19
พฤ 10 ต.ค. 2019 5:42 am โดย mindphp
Q - สอบถามวิธี Upload file html ไปยัง web service โดยใช้คำสั่ง curl ใน PHP
โดย birdkritsna พ 09 ต.ค. 2019 3:42 pm บอร์ด Programming - PHP
6
96
พฤ 10 ต.ค. 2019 2:07 pm โดย birdkritsna
10 เเหล่งช๊อปปิ้งใรเชียงรายที่ต้องไปให้ได้
โดย nemo413 พ 09 ต.ค. 2019 1:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
พ 09 ต.ค. 2019 1:04 pm โดย nemo413
สอบถามครับ อยากได้ url ของลิงค์ ให้มาแสดงในช่อง ต้องทำยังไงครับ
โดย chatee supasand พ 09 ต.ค. 2019 12:22 pm บอร์ด Programming - C/C++ & java & Python
6
63
พ 09 ต.ค. 2019 1:41 pm โดย chatee supasand
Microsoft Word สามารถ แปลงไฟล์เสียง ให้เป็นข้อความได้แล้วใน Office 365
โดย chatee supasand พ 09 ต.ค. 2019 11:32 am บอร์ด Microsoft Office Knowledge & line & Etc
0
27
พ 09 ต.ค. 2019 11:32 am โดย chatee supasand
สอบถามการเขียนโค้ด กรอกข้อมูลหน้าแรก แล้วให้กดส่ง ไปยังหน้าที่สองครับผม
โดย Jakkrit Saengngoenon อ 08 ต.ค. 2019 1:40 pm บอร์ด Programming - PHP
1
54
อ 08 ต.ค. 2019 1:50 pm โดย mindphp
ขอสอบถามเกี่ยวกับ license ของ ฟอนต์ ไทยสารบรรณ (TH Sarabun PSK)
โดย Anonymous อ 08 ต.ค. 2019 8:03 am บอร์ด Programming - PHP
0
38
อ 08 ต.ค. 2019 8:03 am โดย บุคคลทั่วไป
การส่ง parameters ไปกับการ Request แบบ Get ด้วย curl
โดย mindphp จ 07 ต.ค. 2019 12:12 am บอร์ด PHP Knowledge
0
81
จ 07 ต.ค. 2019 12:12 am โดย mindphp
Q สอบถามลองเขียน php webservice ด้วย nuSoap แล้วขึ้น Error ครับ
โดย birdkritsna ส 05 ต.ค. 2019 5:37 pm บอร์ด Programming - PHP
10
176
พฤ 10 ต.ค. 2019 10:29 am โดย birdkritsna
ทำยังไงถึงปุ่มจะอยู่ระดับเดียวกันครับ
โดย jamepiyawat ส 05 ต.ค. 2019 3:08 pm บอร์ด HTML CSS
6
117
ส 05 ต.ค. 2019 4:48 pm โดย jamepiyawat
Microsoft Surface Neo อีกหนึ่งผลิตภันฑ์แท็บเล็ตหน้าจอคู่ของ Microsoft
โดย chatee supasand ส 05 ต.ค. 2019 2:33 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
46
ส 05 ต.ค. 2019 2:33 pm โดย chatee supasand