การซ่อนข้อมูลคืออะไร?

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

มีหลายวิธีในการเขียนโปรแกรมคอมพิวเตอร์ ภาษาแรกต้องให้โปรแกรมเมอร์เขียนโปรแกรมในลำดับต่อเนื่อง บรรทัดแรกของโปรแกรมอยู่ที่ด้านบนสุดและบรรทัดสุดท้ายอยู่ที่ด้านล่าง ในขณะที่โปรแกรมทำหน้าที่มันก็ย้ายลงโดยทั่วไปผ่านรหัส

ภาษาการเขียนโปรแกรมสมัยใหม่ไม่ค่อยทำงานในลักษณะที่เข้มงวดนัก หลายคนพึ่งพา "วัตถุ" แต่ละตัวที่แต่ละคนจะทำงานเฉพาะอย่าง สิ่งนี้ไม่เพียง แต่ช่วยให้การเขียนโปรแกรมง่ายขึ้นเท่านั้น แต่ยังช่วยให้โค้ดบางส่วนสามารถใช้งานได้บ่อยครั้งโดยไม่จำเป็นต้องเขียนใหม่ ตัวอย่างเช่นหากโปรแกรมต้องการผลลัพธ์จากฟังก์ชันคณิตศาสตร์เฉพาะห้าครั้งแทนที่จะเขียนกระบวนการนั้นออกห้าครั้งโปรแกรมเมอร์จะทำให้ฟังก์ชันนั้นเป็นวัตถุและให้โปรแกรมเรียกมันขึ้นมาห้าครั้ง

กระบวนการที่ใช้ในการซ่อนข้อมูลนั้นขึ้นอยู่กับลักษณะของการเขียนโปรแกรม เมื่อเขียนโปรแกรมที่ใช้แนวคิดเหล่านี้วัตถุจะถูกกำหนดไว้สำหรับแต่ละส่วนของโปรแกรม ในกรณีนี้วัตถุที่เฉพาะเจาะจงอาจมีหลายรุ่นแต่ละเรียกโดยส่วนที่แตกต่างกันของโปรแกรม ในตัวอย่างข้างต้นการโทรเดียวกันถูกสร้างขึ้นห้าครั้งในโปรแกรม หากการเรียกสองครั้งนั้นเกิดขึ้นโดยอินเตอร์เฟสและโปรแกรมหลักสร้างขึ้นสามครั้งโปรแกรมเมอร์จะเขียนวัตถุสองอย่างที่เหมือนกันในทางปฏิบัติ

สาเหตุหลักที่โปรแกรมใช้การซ่อนข้อมูลคือเพื่อทำให้การแก้ไขง่ายขึ้น หากส่วนหนึ่งของโปรแกรมใช้เฉพาะวัตถุของตัวเองมันจะง่ายต่อการปรับเปลี่ยนส่วนของโปรแกรมนั้น หากมีการแชร์อ็อบเจ็กต์ระหว่างโปรแกรมการเปลี่ยนแปลงเพียงเล็กน้อยอาจทำให้เกิดความล้มเหลวในส่วนที่ไม่เกี่ยวข้องของระบบ

เหตุผลที่สองสำหรับการซ่อนข้อมูลคือความปลอดภัย หากทุกส่วนของโปรแกรมทำงานอย่างอิสระที่สุดเท่าที่จะเป็นไปได้ยากสำหรับกระบวนการที่เป็นอันตรายในการเรียงซ้อนผ่านระบบ ตัวอย่างเช่นหากโปรแกรมที่เป็นอันตรายได้รับการเข้าถึงส่วนหนึ่งของระบบ encapsulated มันจะสามารถเข้าถึงส่วนที่มันเริ่มพบเท่านั้น ส่วนอื่น ๆ ของโปรแกรมยังคงไม่ถูกแตะต้องอย่างน้อยก็ชั่วคราว