Abstraction vs. Encapsulation
เนื้อหา
- สารบัญ: ความแตกต่างระหว่าง Abstraction และ Encapsulation
- แผนภูมิเปรียบเทียบ
- สิ่งที่เป็นนามธรรม
- ตัวอย่าง
- การห่อหุ้มคืออะไร?
- ตัวอย่าง
- ความแตกต่างที่สำคัญระหว่าง Abstraction และ Encapsulation
- ข้อสรุป
สิ่งที่เป็นนามธรรมเป็นกระบวนการของ
การรวบรวมข้อมูลที่สำคัญที่จะทำให้ฐานสำหรับการสร้าง
ระบบที่ซับซ้อน Encapsulation เป็นกระบวนการพัฒนาระบบที่ซับซ้อนมาก
ง่ายต่อการจัดการผู้ใช้โดยไม่ต้องกังวลเกี่ยวกับความซับซ้อนภายใน
ความแตกต่างระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้มคือ
นามธรรมมุ่งเน้นไปที่การระบุองค์ประกอบที่จำเป็นสำหรับการสร้าง
ระบบในขณะที่ encapsulation มุ่งเน้นไปที่การซ่อนความซับซ้อนภายในของระบบ
สารบัญ: ความแตกต่างระหว่าง Abstraction และ Encapsulation
- แผนภูมิเปรียบเทียบ
- สิ่งที่เป็นนามธรรม
- ตัวอย่าง
- การห่อหุ้มคืออะไร?
- ตัวอย่าง
- ความแตกต่างที่สำคัญระหว่าง Abstraction และ Encapsulation
- ข้อสรุป
แผนภูมิเปรียบเทียบ
ขั้นพื้นฐาน | สิ่งที่เป็นนามธรรม | encapsulation |
คำนิยาม | องค์ประกอบที่จำเป็นในการพัฒนา ระบบ. | Encapsulation เป็นกระบวนการพัฒนาระบบที่ซับซ้อน |
ความสำเร็จ | ทำได้โดยการห่อหุ้ม | ทำได้โดยการทำให้สมาชิกของ ชั้นเรียนเป็นส่วนตัว |
มุ่งเน้นไปที่ | มุ่งเน้นไปที่สิ่งที่ควรทำ | เน้นว่าควรทำอย่างไร |
ใบสมัคร | ระหว่างการออกแบบระดับ | ระหว่างการดำเนินการ ชั้น |
ตัวอย่าง | GUI ของโทรศัพท์มือถือนั้นมีไอคอนให้คลิกซึ่งอันไหน คลิกดำเนินการฟังก์ชั่นเฉพาะ | เมื่อไอคอนถูกคลิก ผู้ใช้ไม่มีความคิดเกี่ยวกับรายละเอียดการใช้งาน |
สิ่งที่เป็นนามธรรม
สิ่งที่เป็นนามธรรมเป็นกลไกของการแยกองค์ประกอบที่สำคัญ
สำหรับการสร้างระบบโดยไม่มีรายละเอียดการใช้งาน ใน
เราจะต้องตั้งสมาธิในสิ่งที่ต้องทำมากกว่าวิธีการ
ต้องทำ สิ่งที่เป็นนามธรรมเป็นกระบวนการทางความคิดมันช่วยแก้ปัญหาในการออกแบบ
ชั้น
การแบ่งประเภทตามลำดับชั้นช่วยให้เราจัดการกับสิ่งที่เป็นนามธรรมที่ซับซ้อน มันทำให้เราสามารถแบ่งระบบที่ซับซ้อนออกเป็นชิ้นส่วนที่จัดการได้และสร้างความหมายแบบเลเยอร์ นอกจากนี้มันเป็นลักษณะทั่วไป
ตัวอย่าง
ให้เราลองเป็นตัวอย่างที่ดีของรถยนต์มันถูกสร้างขึ้นจากระบบย่อยหลายอย่างเช่นเครื่องยนต์เบรคไฟระบบเครื่องเสียงเก้าอี้และอื่น ๆ อีกมากมาย 'เบรก' ซึ่งเป็นระบบย่อยของจักรยานสามารถแบ่งได้เป็นเบรคล้อหน้าและเบรคล้อหลัง แต่โดยทั่วไปเราเห็นว่าระบบย่อยทั้งหมดเป็นเบรค ดังนั้นเราต้องจัดการระบบที่ซับซ้อนโดยการจำแนกแบบลำดับชั้นซึ่งช่วยให้เราค้นหาสิ่งที่เป็นองค์ประกอบที่สำคัญที่จะต้องมีการพัฒนาระบบ
ดังนั้นนามธรรมเป็นเพียงการสรุปองค์ประกอบที่เป็น
จำเป็นสำหรับการสร้างระบบเช่นการหยิบสิ่งสำคัญเพียงอย่างเดียว
การห่อหุ้มคืออะไร?
Encapsulation เป็นคุณสมบัติที่สำคัญของการเขียนโปรแกรมเชิงวัตถุ มันเป็นกลไกที่
ผูกรหัสและข้อมูลเข้าด้วยกันและทำให้พวกเขาได้รับการปกป้องจากภายนอก
การรบกวน. กล่าวคือการห่อหุ้มซ่อนความซับซ้อนของระบบไว้
เนื่องจากคำหลักที่นี่คือการซ่อนข้อมูล มันคล้ายกับอุปกรณ์ป้องกัน
เสื้อคลุมที่ซ่อนรหัสและข้อมูลภายในชั้นเรียนที่ได้รับโดย
รหัสอื่นที่กำหนดไว้นอกคลาสและฟังก์ชัน / เมธอดสมาชิก
ที่ไม่ได้เป็นสมาชิกของชั้นเรียน
เมื่อรหัสและข้อมูลที่ใช้งาน
บนข้อมูลนั้นมีการเชื่อมโยงในชั้นเรียนแล้ววัตถุของชั้นนี้จะถูกสร้างขึ้น
การเข้าถึงองค์ประกอบของรายการนั้นถูก จำกัด โดยอินเทอร์เฟซที่กำหนดไว้อย่างดี
เรียกว่าตัวระบุการเข้าถึง มีสามการเข้าถึง
ตัวระบุใน Java และ C ++ สาธารณะ, ส่วนตัว, ปลอดภัย
การห่อหุ้มสามารถทำได้โดยเฉพาะอย่างยิ่งโดยการทำรหัส
และข้อมูลที่ทำงานบนข้อมูลในฐานะส่วนตัว สมาชิกส่วนตัวของชั้นไม่สามารถเข้าถึงได้จากรหัสที่กำหนดไว้
นอกห้องเรียน ช่วยในการป้องกันการใช้ข้อมูลในทางที่ผิดในขณะที่มันยังซ่อนความซับซ้อน
ของรหัส
ตัวอย่าง
ให้เรายกตัวอย่างโทรศัพท์มือถือ ในโทรศัพท์มือถือคุณ
สามารถทำหน้าที่ได้หลายอย่างเช่นการคลิกที่รูปภาพการบันทึกวิดีโอ / เสียง
ไอเอ็นจีเข้าถึงเว็บและอีกมากมาย คุณถือว่าสิ่งเหล่านี้เป็น
ลักษณะของโทรศัพท์มือถือ แต่ผู้ใช้ขั้นสุดท้ายไม่จำเป็นต้อง
เข้าใจความซับซ้อนภายในของฟีเจอร์เหล่านั้นก่อนใช้งาน
โปรแกรมและคุณไม่จำเป็นต้องเปลี่ยนการทำงานของฟังก์ชั่นใด ๆ
ดังนั้นวิธีนี้การห่อหุ้มจึงซ่อนความซับซ้อนและ
ป้องกันการใช้ข้อมูลในทางที่ผิด
ความแตกต่างที่สำคัญระหว่าง Abstraction และ Encapsulation
- สิ่งที่เป็นนามธรรมมุ่งเน้นไปที่ส่วนประกอบที่จำเป็นต้องใช้
สร้างระบบในขณะที่การห่อหุ้มมุ่งเน้นไปที่การซ่อนความซับซ้อนของ
ระบบ. - สิ่งที่เป็นนามธรรมนั้นกระทำระหว่างระดับการออกแบบของระบบและ
การห่อหุ้มจะทำเมื่อระบบมี
ถูกนำมาใช้ - แรงจูงใจหลักของ Abstractions คือสิ่งที่ต้องทำเพื่อสร้าง
ระบบในขณะที่แรงจูงใจหลักของ Encapsulations คือวิธีที่ควรทำเพื่อสร้างระบบ - สิ่งที่เป็นนามธรรมทำได้โดย
การห่อหุ้มนั้นสามารถทำได้โดยการทำให้องค์ประกอบของ
ระบบเป็นส่วนตัว
ข้อสรุป
สิ่งที่เป็นนามธรรมและการห่อหุ้ม
ทั้งสองเป็นคุณสมบัติที่สำคัญของ OOP การห่อหุ้มที่ดีสามารถทำให้ได้นามธรรมที่น่าอัศจรรย์