Abstraction vs. Encapsulation

ผู้เขียน: Laura McKinney
วันที่สร้าง: 8 เมษายน 2021
วันที่อัปเดต: 1 พฤษภาคม 2024
Anonim
OOP interview questions :- What is the difference between Abstraction and Encapsulation ?
วิดีโอ: OOP interview questions :- What is the difference between Abstraction and Encapsulation ?

เนื้อหา

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


สารบัญ: ความแตกต่างระหว่าง Abstraction และ Encapsulation

  • แผนภูมิเปรียบเทียบ
  • สิ่งที่เป็นนามธรรม
    • ตัวอย่าง
  • การห่อหุ้มคืออะไร?
    • ตัวอย่าง
  • ความแตกต่างที่สำคัญระหว่าง Abstraction และ Encapsulation
  • ข้อสรุป

แผนภูมิเปรียบเทียบ

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

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

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


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

ตัวอย่าง

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

ดังนั้นนามธรรมเป็นเพียงการสรุปองค์ประกอบที่เป็น
จำเป็นสำหรับการสร้างระบบเช่นการหยิบสิ่งสำคัญเพียงอย่างเดียว

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

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


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

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

ตัวอย่าง

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

ดังนั้นวิธีนี้การห่อหุ้มจึงซ่อนความซับซ้อนและ
ป้องกันการใช้ข้อมูลในทางที่ผิด

ความแตกต่างที่สำคัญระหว่าง Abstraction และ Encapsulation

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

ข้อสรุป

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