บทช่วยสอน c ++ นามธรรมข้อมูล ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ แท็บการเข้าถึงบังคับบทคัดย่อ,ประโยชน์ที่ได้รับข้อมูลที่เป็นนามธรรม,ข้อมูลเช่นบทคัดย่อ,กลยุทธ์การออกแบบ,
นามธรรมข้อมูลหมายเพียงเพื่อให้ข้อมูลที่สำคัญกับโลกภายนอกและซ่อนรายละเอียดการดำเนินงานของพื้นหลังของพวกเขาว่าประสิทธิภาพของเฉพาะข้อมูลที่จำเป็นโดยไม่ต้องนำเสนอรายละเอียด
นามธรรมข้อมูลเป็นพึ่งพาอินเตอร์เฟซการเขียนโปรแกรมและการดำเนินการแยก (การออกแบบ) เทคโนโลยี
ขอใช้เวลาในชีวิตจริงตัวอย่างจริงเช่นทีวีคุณสามารถเปิดและปิดเปลี่ยนช่อง, ปรับระดับเสียงเพิ่มส่วนประกอบภายนอก (เช่นลำโพง, VCR, เครื่องเล่นดีวีดี) แต่คุณไม่ทราบว่าภายใน รายละเอียดการปฏิบัติที่เป็นคุณไม่ทราบวิธีการที่จะได้รับจากสายสัญญาณ, วิธีการแปลงสัญญาณและในที่สุดก็ปรากฏบนหน้าจอ
ดังนั้นเราจึงสามารถพูดได้ว่าทีวีเพื่อการดำเนินงานภายในและภายนอกอินเตอร์เฟซที่แยกออกจากกันและคุณไม่ทราบว่าหลักการภายในของตนโดยตรงผ่านอินเตอร์เฟซภายนอก (เช่นปุ่มเพาเวอร์บนรีโมทคอนโทรลควบคุมระดับเสียง) สามารถควบคุมทีวี
ตอนนี้ให้ของได้รับลงไปที่ธุรกิจมันเป็นในแง่ของการเขียนโปรแกรม C ++, C ++ข้อมูลระดับนามธรรมที่เป็นไปได้พวกเขาไปยังโลกภายนอกยังมีวิธีการทั่วไปสำหรับการดำเนินงานเป็นจำนวนมากของวัตถุข้อมูล, ที่อยู่, ในความเป็นจริงโลกภายนอกไม่ทราบว่าการดำเนินการระดับภายใน
ตัวอย่างเช่นโปรแกรมของคุณสามารถเรียกการเรียงลำดับ () ฟังก์ชั่นโดยไม่จำเป็นต้องรู้ว่าการทำงานของอัลกอริทึมที่ใช้ในการจัดเรียงข้อมูลในความเป็นจริง, ฟังก์ชั่นพื้นฐานของการสำนึกของการจัดเรียงเนื่องจากพื้นที่เก็บข้อมูลที่แตกต่างกันแตกต่างกันไปตราบใดที่อินเตอร์เฟซเดียวกันเรียกใช้ฟังก์ชันตามปกติ
ใน C ++เราจะใช้ชั้นเรียนของเราเองที่จะกำหนดชนิดข้อมูลนามธรรม (ADT)คุณสามารถใช้ostream ชั้นศาลวัตถุข้อมูลส่งออกไปยังออกมาตรฐานดังต่อไปนี้:
#include <iostream> using namespace std; int main( ) { cout << "Hello C++" <<endl; return 0; }
ที่นี่คุณไม่เข้าใจว่าศาลข้อความที่แสดงบนหน้าจอของผู้ใช้คุณจะต้องรู้ว่าอินเตอร์เฟซที่สาธารณะ, ศาลใช้งานพื้นฐานที่สามารถเปลี่ยนแปลงได้อย่างอิสระ
ใน C ++ เราจะใช้ Access แท็บเพื่อกำหนดระดับอินเตอร์เฟซที่เป็นนามธรรม ชั้นสามารถมีศูนย์หรือเข้าถึงป้ายกำกับ:
แท็กความถี่การเข้าถึงปรากฏไม่มีขีด จำกัด แต่ละแท็กระบุการเข้าถึงที่ใช้โดยสมาชิกของระดับการเข้าถึงที่กำหนดไว้ ระดับการเข้าถึงข้อมูลที่ได้รับมอบหมายจะยังคงมีผลจนกว่าถัดแท็บเผชิญหน้า Access หรือปิดประเภทของร่างกายด้านขวาพบในวงเล็บ
นามธรรมข้อมูลได้สองข้อได้เปรียบที่สำคัญ:
ส่วนเอกชนกำหนดข้อมูลสมาชิกของชั้นถ้าเพียง แต่ในการเตรียมการของผู้เขียนดังกล่าวได้อย่างอิสระสามารถเปลี่ยนแปลงข้อมูล หากดำเนินการเปลี่ยนแปลงที่คุณจะต้องตรวจสอบรหัสสำหรับการเรียนเพื่อดูสิ่งที่ส่งผลกระทบต่อการเปลี่ยนแปลงนี้อาจก่อให้เกิด หากข้อมูลที่เป็นสาธารณะใด ๆ เข้าถึงโดยตรงไปยังรูปแบบเก่าของสมาชิกในฟังก์ชั่นการแสดงข้อมูลมีแนวโน้มที่จะได้รับผลกระทบ
โปรแกรม c ++ ชั้นใด ๆ กับสมาชิกของนามธรรมข้อมูลภาครัฐและเอกชนสามารถนำมาใช้เป็นตัวอย่าง พิจารณาตัวอย่างต่อไปนี้:
#include <iostream> using namespace std; class Adder{ public: // 构造函数 Adder(int i = 0) { total = i; } // 对外的接口 void addNum(int number) { total += number; } // 对外的接口 int getTotal() { return total; }; private: // 对外隐藏的数据 int total; }; int main( ) { Adder a; a.addNum(10); a.addNum(20); a.addNum(30); cout << "Total " << a.getTotal() <<endl; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Total 60
เหนือชั้นด้วยกันตัวเลขและผลตอบแทนรวม ผู้ใหญ่addNum และ getTotalคือการติดต่อภายนอกผู้ใช้จำเป็นต้องรู้เพื่อที่จะใช้ชั้นเรียนของตนส่วนตัวสมาชิกผู้ใช้ทั้งหมดไม่จำเป็นต้องรู้ แต่ชั้นสามารถทำงานที่จำเป็น
บทคัดย่อจะแยกรหัสลงในอินเตอร์เฟซและการดำเนินการ ดังนั้นในการออกแบบชิ้นส่วนของอินเตอร์เฟซจะต้องรักษาความเป็นอิสระของการดำเนินการเพื่อที่ว่าถ้าคุณเปลี่ยนการใช้งานพื้นฐานของอินเตอร์เฟซจะยังคงไม่เปลี่ยนแปลง
ในกรณีนี้โดยไม่คำนึงถึงโปรแกรมใด ๆ โดยใช้อินเตอร์เฟซอินเตอร์เฟซจะไม่ได้รับผลกระทบเท่านั้นที่จะตระหนักถึง recompilation ล่าสุด