แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | สิ่งที่เป็นนามธรรม | การซ่อนข้อมูล |
---|---|---|
ขั้นพื้นฐาน | แยกเฉพาะข้อมูลที่เกี่ยวข้องและไม่สนใจรายละเอียดที่ไม่จำเป็น | ซ่อนข้อมูลจากส่วนต่าง ๆ ของโปรแกรม |
วัตถุประสงค์ | เพื่อซ่อนความซับซ้อน | เพื่อให้เกิดการห่อหุ้ม |
ชั้น | คลาสใช้ตัวย่อเพื่อสืบทอดประเภทข้อมูลที่ผู้ใช้กำหนดเองใหม่ | การซ่อนข้อมูลถูกใช้ในคลาสเพื่อทำให้ข้อมูลเป็นส่วนตัว |
เพ่งความสนใจไปที่ | พฤติกรรมที่สังเกตได้ของข้อมูล | การ จำกัด หรืออนุญาตให้ใช้ข้อมูลภายในแคปซูล |
ความหมายของสิ่งที่เป็นนามธรรม
สิ่งที่ เป็น นามธรรม ใช้เพื่อซ่อนความซับซ้อนเป็นหลัก มันบ่งบอกถึงคุณลักษณะที่จำเป็นของวัตถุที่แตกต่างจากวัตถุประเภทอื่นทั้งหมด สิ่งที่เป็นนามธรรมมุ่งเน้นไปที่ด้านนอกของวัตถุ สำหรับวัตถุนามธรรมให้การแยกพฤติกรรมที่สำคัญจากการใช้งาน มันระบุขอบเขตแนวคิดที่เกี่ยวข้องกับมุมมองของผู้ชม สิ่งที่เป็นนามธรรมที่เหมาะสมจะเน้นไปที่รายละเอียดที่สำคัญสำหรับผู้อ่านหรือผู้ใช้และระงับคุณลักษณะที่ไม่เกี่ยวข้องและเบี่ยงเบน
ชนิดข้อมูลที่ผู้ใช้กำหนดถูกสร้างขึ้นโดยการกำหนดคุณลักษณะนามธรรมและฟังก์ชั่นภายในชั้นเรียนสำหรับการออกแบบวัตถุในโลกแห่งความจริงมีคุณสมบัติเหมือนกัน แอตทริบิวต์เหล่านี้เรียกว่าสมาชิกข้อมูลเนื่องจากประกอบด้วยข้อมูล ฟังก์ชันที่ทำงานกับข้อมูลเหล่านี้เรียกว่าฟังก์ชันสมาชิก Data Abstraction ถูกใช้เป็นคลาสซึ่งแสดงคุณสมบัติที่สำคัญโดยไม่รวมถึงคำอธิบายพื้นหลัง
ประเภทของสิ่งที่เป็นนามธรรม:
- Abstraction เชิงกระบวนงาน - ประกอบด้วยชุดคำสั่งที่มีฟังก์ชั่นที่ระบุ
- Data abstraction - เป็นชุดข้อมูลที่ระบุและอธิบายวัตถุข้อมูล
- Control abstraction - เป็นกลไกควบคุมโปรแกรมที่ไม่ได้ระบุรายละเอียดการตกแต่งภายใน
คำจำกัดความของการซ่อนข้อมูล
การซ่อนข้อมูล หมายถึงการซ่อนข้อมูลจากส่วนประกอบของโปรแกรมที่ไม่จำเป็นต้องเรียกคืน การแยกข้อมูลจากการเข้าถึงโดยตรงโดยโปรแกรมเรียกว่าการซ่อนข้อมูลหรือการซ่อนข้อมูล สำหรับการนำการซ่อนข้อมูลไปใช้จะมีการใช้การห่อหุ้มข้อมูลในที่ซึ่งข้อมูลและฟังก์ชั่นของคลาสได้รับการปกป้องจากการเข้าถึงที่ไม่ได้รับอนุญาต ในทางตรงกันข้ามเมื่อข้อมูลและฟังก์ชั่นถูกห่อหุ้มในหน่วยเดียวจะเรียกว่า encapsulation ดังนั้นการซ่อนข้อมูลช่วยในการบรรลุการห่อหุ้ม รายละเอียดการทำงานของวัตถุสามารถจัดการผ่านตัวระบุการเข้าถึง
การใช้แนวคิดการซ่อนข้อมูลข้อมูลและฟังก์ชั่นในคลาสนั้นถูกทำให้เป็นส่วนตัวดังนั้นจึงไม่สามารถเข้าถึงได้อย่างไม่ถูกต้องโดยฟังก์ชั่นนอกชั้นเรียนและป้องกันจากการเปลี่ยนแปลงโดยไม่ตั้งใจ
ความแตกต่างที่สำคัญระหว่างสิ่งที่เป็นนามธรรมและการซ่อนข้อมูล
- สิ่งที่เป็นนามธรรมแสดงข้อมูลที่เกี่ยวข้องและปฏิเสธรายละเอียดที่ไม่จำเป็น ในทางกลับกันการซ่อนข้อมูลถูกใช้เพื่อซ่อนข้อมูลจากส่วนต่าง ๆ ของโปรแกรม
- จุดประสงค์ก่อนหน้าของนามธรรมคือการซ่อนรายละเอียดการใช้งานที่ซับซ้อนของโปรแกรมหรือซอฟต์แวร์ ในทางกลับกันการซ่อนข้อมูลจะถูกนำไปใช้เพื่อให้เกิดการห่อหุ้ม
- Abstraction ใช้ในคลาสเพื่อสร้างประเภทข้อมูลใหม่ที่ผู้ใช้กำหนด เมื่อเทียบกับในการซ่อนข้อมูลในชั้นเรียนจะใช้ในการทำให้ข้อมูลส่วนตัว
- สิ่งที่เป็นนามธรรมมุ่งเน้นที่พฤติกรรมที่สังเกตได้ของข้อมูลในขณะที่การซ่อนข้อมูล จำกัด หรืออนุญาตให้ใช้ข้อมูลภายในแคปซูล
ข้อสรุป
ทั้งสิ่งที่เป็นนามธรรมและการซ่อนข้อมูลมีจุดประสงค์เพื่อเพียงแสดงข้อมูลที่จำเป็นและซ่อนรายละเอียดที่ไม่จำเป็น แต่เพื่อจุดประสงค์ที่แตกต่างกัน สิ่งที่เป็นนามธรรมเน้นที่การซ่อนความซับซ้อนของการใช้งานในขณะที่การซ่อนข้อมูลความโดดเด่นนั้นได้รับการปกป้องข้อมูลจากการเข้าถึงโดยไม่ได้รับอนุญาต