วัตถุประสงค์การเรียนรู้ | นักเรียนจะสามารถ:
|
ข้อกำหนดเบื้องต้น | นักเรียนควร:
|
Abstraction ในวิทยาการคอมพิวเตอร์ให้การแสดงผลที่เรียบง่ายเกี่ยวกับสิ่งที่ใหญ่กว่า มันดึงข้อมูลที่จำเป็นเท่านั้นออกมาและซ่อนข้อมูลอื่น ๆ ทั้งหมด
ฟังก์ชัน คือการทำให้เป็นอ Abstraction ที่สามารถนำกลับมาใช้ใหม่ได้ เมื่อถูกเรียกใช้งาน ผู้ใช้จะได้รับประโยชน์จากฟังก์ชันโดยไม่ต้องเขียนหรือแม้แต่ดูโค้ดสำหรับฟังก์ชันทั้งหมด
ตัวอย่างที่พบบ่อยในภาษาเขียนโปรแกรมคือ print() โค้ดส่วนใหญ่ของมันถูกซ่อน ดังนั้นนักเขียนโค้ดจึงสามารถมุ่งเน้นไปที่สิ่งที่ต้องพิมพ์ได้โดยไม่สนใจโค้ดส่วนที่เหลือ
ทำไมต้องสร้าง Abstraction
Abstraction ช่วยให้โปรแกรมมีระเบียบ ลดความซับซ้อน และทำให้โค้ดสามารถอัปเดตได้ง่ายขึ้น
ตัวอย่างร้านค้า
ลองจินตนาการว่าคุณมีร้านค้าที่ขายกระเป๋าเป้สองแบบเท่านั้น โค้ดสำหรับกระเป๋าใบที่สองถูกคัดลอกมาพร้อมการเปลี่ยนแปลงเล็กน้อย เช่น ชื่อและราคาขายที่แตกต่างกัน


ที่นี่ โค้ด ไม่มี การทำให้ง่ายขึ้น กระเป๋าแต่ละใบมีสคริปต์ของตนเอง หากคุณพยายามเพิ่มสิ่งต่อไปนี้จะเกิดอะไรขึ้น?
กระเป๋าเพิ่มอีก 20 ใบ
ความสามารถในการถือของมากกว่ากระเป๋าใบอื่น
การลดราคาช่วงเทศกาล 25% สำหรับกระเป๋าทุกใบ
การออกแบบ Abstraction
การมีสคริปต์กระเป๋าแยกทำให้การเพิ่มและอัปเดตกระเป๋าใช้เวลานาน แทนที่จะเป็นเช่นนั้น ให้สร้าง Abstraction เพื่อไม่ให้คุณต้องทำการอัปเดตในหลายที่
ในการออกแบบ Abstraction ตัดสินใจว่า:
ส่วนใดของโค้ดที่จะนำกลับมาใช้ใหม่
องค์ประกอบใดที่จะมีความแตกต่างในแต่ละครั้ง
Abstraction ควรดึงข้อมูลที่เปลี่ยนแปลงและซ่อนส่วนที่เหลือ ในตัวอย่างกระเป๋า ความแตกต่างคือชื่อกระเป๋า ราคา และจำนวนรายการที่สามารถบรรทุกได้ ดังนั้นตัวอย่างของ Abstraction ที่คุณสามารถออกแบบได้คือฟังก์ชันที่รับชื่อกระเป๋าและส่งคืนราคาและความจุของมัน
![]() | ![]() |
ไม่มี Abstraction | Abstraction |
| กระเป๋าเป้สี่ใบ สี่สถานที่ในการอัปเดต | ใช้ฟังก์ชันในการค้นหาข้อมูลเฉพาะในตาราง มีเพียงแห่งเดียวในการอัปเดต |
สรุป
Abstractions ให้การแสดงผลที่เรียบง่ายเกี่ยวกับสิ่งที่ใหญ่กว่าโดยการละเว้นรายละเอียด เมื่อพิจารณาว่าจะสร้าง Abstraction หรือไม่ ให้มองหาโค้ดที่มักถูกใช้งานซ้ำ แต่มีการเปลี่ยนแปลงเล็กน้อยในแต่ละครั้ง ตัวอย่างเช่น รายการทั่วไปเช่นกระเป๋าเป้สามารถทำให้เป็นฟังก์ชันที่สามารถนำกลับมาใช้ใหม่ได้ซึ่งค้นหาราคาและความจุ
การใช้เวลาในการวางแผนและโครงสร้างโค้ดด้วยการทำให้เป็นอ Abstraction ช่วยให้นักเขียนโค้ดสามารถมุ่งเน้นไปที่สิ่งที่สำคัญ การลงทุนในเวลานี้ช่วยให้โปรแกรมมีการจัดระเบียบที่ดีขึ้นและทำให้ง่ายต่อการปรับปรุง

