ความแตกต่างระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้ม (พร้อมตาราง)

สารบัญ:

Anonim

Abstraction and Encapsulation เป็นแนวคิดหลักของการเขียนโปรแกรมเชิงวัตถุ คำว่า "นามธรรม" เชื่อมโยงกับวิธีการซ่อนข้อมูลที่ไม่ต้องการและ "การห่อหุ้ม" เชื่อมโยงกับการปกปิดข้อมูลภายใต้หน่วยเดียว ในทางนามธรรม โฟกัสอยู่ที่การทำงานของวัตถุ ในการห่อหุ้ม รายละเอียดภายในและกลไกการทำงานของวัตถุจะถูกซ่อนไว้

สิ่งที่เป็นนามธรรมกับการห่อหุ้ม

ความแตกต่างระหว่าง abstraction และ encapsulation คือ abstraction เกี่ยวกับการรับข้อมูลที่เกี่ยวข้องและคัดเลือกจากกลุ่มข้อมูลขนาดใหญ่ ในขณะที่การห่อหุ้มเป็นวิธีการเก็บข้อมูลเป็นเอนทิตีเดียวและซ่อนไว้ วัตถุที่ทำให้เกิดสิ่งที่เป็นนามธรรมนั้นถูกห่อหุ้มไว้ แต่วัตถุที่ห่อหุ้มนั้นไม่จำเป็นต้องถูกทำให้เป็นนามธรรม

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

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

ตารางเปรียบเทียบระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้ม

พารามิเตอร์ของการเปรียบเทียบ

สิ่งที่เป็นนามธรรม

การห่อหุ้ม

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

สิ่งที่เป็นนามธรรมคืออะไร?

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

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

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

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

การห่อหุ้มคืออะไร?

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

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

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

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

ความแตกต่างหลักระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้ม

บทสรุป

ในการแยกข้อมูล ผู้ใช้จะเห็นเฉพาะรายละเอียดที่จำเป็นเท่านั้นในขณะที่การห่อหุ้มข้อมูลจะถูกประมวลผลเป็นหน่วยเดียว หน่วยเดียวที่มีข้อมูลที่ทำหน้าที่เดียวกันเรียกว่าคลาส ข้อมูลถูกเลือกจากพูลขนาดใหญ่ จากนั้นจึงสร้างคลาสประเภทที่คล้ายคลึงกัน

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

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

ความแตกต่างระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้ม (พร้อมตาราง)