การหามุมมองเชิงนามธรรมของข้อมูล (Data Abstraction)
แนะนำใหม่| English | ความหมาย |
|---|---|
| complexity/kəmˈpleksɪti/ | ความซับซ้อน |
| Data abstraction/ˈdeɪtə əbˈstrækʃn/ | การนามธรรมของข้อมูล |
| list/lɪst/ | รายการ |
| abstract data type/ˈæbstrækt ˈdeɪtə taɪp/ | ชนิดข้อมูลนามธรรม |
| general/ˈdʒenərəl/ | ทั่วไป |
| abstraction/əbˈstrækʃn/ | นามธรรม |
| modeling/ˈmɒdəlɪŋ/ | การสร้างแบบจำลอง |
| model/ˈmɒdl/ | แบบจำลอง |
การซ่อนรายละเอียดเพื่อจัดการกับความซับซ้อน
- โปรแกรมจริงต้องจัดการกับข้อมูลจำนวนมาก
- การ추่มุมมองข้อมูล (Data abstraction) ซ่อนรายละเอียดเพื่อให้เราสามารถจัดการ ความซับซ้อน ได้
- แทนที่จะติดตามชิ้นส่วนเล็กๆ แยกกัน เราจะรวมกลุ่มไว้ใต้ชื่อเดียว
- เครื่องมือที่พบบ่อยที่สุดสำหรับงานนี้คือ ลิสต์ (list)
ใช้ลิสต์ หรือตัวแปรเดียว?
ลิสต์ (การหามุมมองเชิงนามธรรมของข้อมูล) มีประโยชน์เมื่อมีค่าหลายค่าที่คล้ายกัน; ตัวแปรเดียวก็พอสำหรับค่าเดียวที่เป็นอิสระ
การหามุมมองเชิงนามธรรมของข้อมูลช่วยนักเขียนโปรแกรมโดย:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การจัดกลุ่มข้อมูลภายใต้ชื่อเดียวช่วยซ่อนรายละเอียดที่ไม่จำเป็น
______ จัดกลุ่มค่าหลายค่าภายใต้ชื่อเดียว เช่น คะแนนทั้งหมดของนักเรียน
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ลิสต์เป็นชนิดข้อมูลเชิงนามธรรมที่พบบ่อยที่สุด
การใช้ลิสต์ทำให้โค้ดเป็นสากล: ลูปเดียวกันใช้ได้กับ 5 หรือ 500 ค่า
Difficulty 1/5 · 100 coins + a small bonus on first completion today
โค้ดอ้างอิงถึงลิสต์ด้วยชื่อ ไม่ใช่แต่ละค่า
ลิสต์รวมหลายค่าเข้าด้วยกัน
- ลิสต์ เป็น ประเภทข้อมูลเชิงนามธรรม ที่รวมหลายค่าเข้าด้วยกันภายใต้ชื่อเดียว
- ลิสต์เดียว
scoresสามารถเก็บคะแนนทั้งชั้นเรียนได้ – ไม่ต้องสร้างตัวแปรแยกสำหรับแต่ละนักเรียน - การใช้ลิสต์ทำให้โค้ดมีความ ทั่วไป มากขึ้น: โค้ดเดียวกันใช้งานได้กับ 5 ค่าหรือ 500 ค่า
- มันอ้างอิงถึงลิสต์โดยชื่อ ไม่ใช่การเข้าถึงแต่ละค่าทีละค่า
ข้อดีของการหามุมมองเชิงนามธรรมของข้อมูลคืออะไร? (เลือกทุกข้อที่ใช้ได้)
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ชื่อที่ชัดเจนหนึ่งชื่อ ชนะชื่อแยก 50 ชื่อ ในทุกประเด็น
ทำไมการ 추่มุมมองข้อมูลถึงช่วยได้
- ลดความซ้ำซ้อน – คุณเขียนตรรกะเพียงครั้งเดียว ไม่ใช่ทุกค่า
- แก้ไขง่ายขึ้น – เพิ่มค่าลงในลิสต์และโค้ดเดิมก็ยังคงทำงานได้
- ลดข้อผิดพลาด – ชื่อเดียวที่ชัดเจนง่ายกว่าการใช้ชื่อแยกกันห้าสิบชื่อ
- การตั้งชื่อและการรวมกลุ่มนี้เป็นหัวใจสำคัญของการ ขมุมมองข้อมูล
โมเดลของชั้นเรียนเก็บชื่อแต่ละทิ้งสีตาเพราะ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
โมเดลทำให้ความเป็นจริงเรียบง่าย โดยเก็บเพียงรายละเอียดที่เกี่ยวข้อง
ด้วยลิสต์ การเพิ่มนักเรียนคนที่หกไม่ต้องการตัวแปรใหม่หรือบรรทัดพิมพ์ใหม่
Difficulty 1/5 · 100 coins + a small bonus on first completion today
มีเพียงข้อมูลที่เปลี่ยน; ลูปเดิมจัดการได้
การขมุมมองข้อมูลคือการสร้างแบบจำลอง
- การขมุมมองข้อมูลเป็นรูปแบบหนึ่งของ การสร้างแบบจำลอง
- แบบจำลอง ช่วยลดทอนสิ่งที่ซับซ้อนลงเพื่อให้เราโฟกัสเฉพาะสิ่งที่สำคัญ
- ลิสต์ชื่อนักเรียนเป็นแบบจำลองของชั้นเรียน โดยละรายละเอียดที่ไม่จำเป็นต่อโปรแกรมเช่นสีตา
หามอง disclaimer: โดยไม่มีการขมุมมุมมอง: ตัวแปร 5 ตัว mark1…mark5 และบรรทัดพิมพ์ 5 บรรทัด ด้วยลิสต์ marks: ลูปเดียวพิมพ์ทุกองค์ประกอบ หากมีนักเรียนคนเพิ่มเข้ามา จะมีการเปลี่ยนแปลงเฉพาะ ข้อมูล – ไม่ต้องสร้างตัวแปรใหม่ ไม่ต้องเพิ่มบรรทัดใหม่
การขมุมมุมมองข้อมูล ซ่อนรายละเอียดเพื่อจัดการกับ ความซับซ้อน มักใช้ ลิสต์ – ซึ่งเป็น ประเภทข้อมูลเชิงนามธรรม ที่รวมหลายค่าเข้าด้วยกันภายใต้ชื่อเดียว ทำให้โค้ดมีความ ทั่วไป (ใช้ได้กับทุกขนาด), ลดความซ้ำซ้อนและข้อผิดพลาด และเป็นรูปแบบหนึ่งของการ สร้างแบบจำลอง: เก็บสิ่งที่สำคัญ ทิ้งสิ่งที่เหลือ