สารบัญ:
คำจำกัดความ - การห่อหุ้มหมายถึงอะไร?
การห่อหุ้มในบริบทของ C # หมายถึงความสามารถของวัตถุในการซ่อนข้อมูลและพฤติกรรมที่ไม่จำเป็นสำหรับผู้ใช้ Encapsulation ช่วยให้กลุ่มคุณสมบัติวิธีการและสมาชิกอื่น ๆ ได้รับการพิจารณาเป็นหน่วยเดียวหรือวัตถุ
ต่อไปนี้เป็นประโยชน์ของการห่อหุ้ม:
- การปกป้องข้อมูลจากการทุจริตโดยไม่ตั้งใจ
- ข้อมูลจำเพาะของความสามารถในการเข้าถึงของสมาชิกแต่ละคนของคลาสไปยังโค้ดที่อยู่นอกคลาส
- ความยืดหยุ่นและความสามารถในการขยายโค้ดและการลดความซับซ้อน
- ลดการมีเพศสัมพันธ์ระหว่างวัตถุและปรับปรุงความสามารถในการบำรุงรักษาโค้ด
Encapsulation ใช้เพื่อ จำกัด การเข้าถึงสมาชิกของคลาสเพื่อป้องกันผู้ใช้ของคลาสที่กำหนดจากการจัดการกับออบเจ็กต์ในรูปแบบที่ผู้ออกแบบไม่ได้ตั้งใจไว้ ในขณะที่การห่อหุ้มซ่อนการใช้งานภายในของฟังก์ชันของคลาสโดยไม่ส่งผลกระทบต่อการทำงานโดยรวมของระบบ แต่ก็อนุญาตให้คลาสให้บริการการร้องขอการใช้งานและเพิ่มหรือปรับเปลี่ยนโครงสร้างภายใน (ข้อมูลหรือวิธีการ) เพื่อให้เหมาะกับความต้องการที่เปลี่ยนแปลง
การห่อหุ้มหรือที่เรียกว่าการซ่อนข้อมูล
Techopedia อธิบายการห่อหุ้ม
การห่อหุ้มใน C # ถูกนำไปใช้กับการเข้าถึงระดับข้อมูลวัตถุที่แตกต่างกันซึ่งสามารถระบุได้โดยใช้ตัวดัดแปลงการเข้าถึงต่อไปนี้:
- สาธารณะ: เข้าถึงรหัสทั้งหมดในโปรแกรม
- ส่วนตัว: เข้าถึงเฉพาะสมาชิกของคลาสเดียวกัน
- ได้รับการป้องกัน: การเข้าถึงสมาชิกของคลาสเดียวกันและคลาสที่ได้รับ
- ภายใน: การเข้าถึงแอสเซมบลีปัจจุบัน
- Protected Internal: การเข้าถึงแอสเซมบลีปัจจุบันและชนิดที่ได้รับจากคลาสที่ประกอบด้วย
การห่อหุ้มสามารถแสดงด้วยตัวอย่างของวัตถุพนักงานที่เก็บรายละเอียดของวัตถุนั้น โดยใช้การห่อหุ้มวัตถุพนักงานสามารถเปิดเผยข้อมูล (เช่นชื่อ EmployeeID ฯลฯ ) และวิธีการ (เช่น GetSalary) ที่จำเป็นสำหรับการใช้วัตถุในขณะที่การซ่อนเขตข้อมูลที่ไม่เกี่ยวข้องและวิธีการจากวัตถุอื่น ๆ มันง่ายที่จะเห็นสถานการณ์ที่ผู้ใช้ทุกคนสามารถเข้าถึงข้อมูลพื้นฐานเกี่ยวกับพนักงานในขณะที่ จำกัด ข้อมูลเงินเดือน
C # อนุญาตให้มีการห่อหุ้มข้อมูลผ่านการใช้ accessors (เพื่อรับข้อมูล) และ mutators (เพื่อแก้ไขข้อมูล) ซึ่งช่วยในการจัดการข้อมูลส่วนตัวทางอ้อมโดยไม่เปิดเผยต่อสาธารณะ คุณสมบัติเป็นกลไกสำรองสำหรับข้อมูลส่วนตัวที่จะถูกห่อหุ้มในวัตถุ C # และเข้าถึงได้ในโหมดอ่านอย่างเดียวหรือในโหมดอ่านเขียน แตกต่างจาก accessor และ mutator คุณสมบัติเป็นจุดเดียวในการเข้าถึงค่า "set" และ "get" ของวัตถุ
