OOP นั้นไม่สำคัญเพราะตัวมันเอง แต่เนื่องมาจากสิ่งที่มันทำ สิ่งที่เกี่ยวข้องกับความสามารถในการแยกและนามธรรมสิ่งต่าง ๆ ในกลุ่มรวมกันจบลงด้วยการเปิดเผยเฉพาะส่วนที่ต้องมีการโต้ตอบด้วยกัน
นี่เป็นเทคนิคทางวิศวกรรมทั่วไปที่เรียกว่า "การทำให้เป็นโมดูล" ซึ่งอนุญาตให้สร้างระบบที่ซับซ้อนเป็นการรวมกลุ่มของสิ่งที่ง่ายกว่าโดยไม่ต้องใส่ใจในทุกรายละเอียดในระดับสูงและต้องการส่วนประกอบที่จะเปลี่ยนได้แม้ว่าจะไม่เป็น เหมือนกัน.
"แนวคิดทางวิศวกรรม" เหล่านั้นได้ถูกพยายามที่จะถูกเก็บไว้ในการพัฒนาซอฟต์แวร์จากเวลาที่ผลิตภัณฑ์ซอฟต์แวร์ตัวเองมีขนาดใหญ่กว่า "ความสามารถในการพัฒนาเดี่ยว" ดังนั้นจึงต้องมีวิธีที่จะทำให้นักพัฒนาทำงานบนชิ้นอิสระ โต้ตอบกัน
ที่กล่าวว่าหลักการเหล่านั้นไม่จำเป็นต้องพบใน OOP เท่านั้น (ทฤษฎีการคำนวณนั้นถูกต้องมีวิธีการที่เป็นไปได้ที่ไม่มีที่สิ้นสุดเพื่อให้ได้ผลลัพธ์เหล่านั้น)
OOP เป็นเพียงความพยายามที่ประสบความสำเร็จที่จะนำสิ่งเหล่านั้นเข้าด้วยกันให้เป็นไปตามข้อกำหนดทั่วไปเหล่านั้น (เช่นโมดูล encapsulation ทดแทน) คำจำกัดความแม่นยำมากขึ้นและแนวความคิดที่ซับซ้อนในคำนิยามเหล่านั้น (รูปแบบ) ที่สามารถปรับตัวให้เข้าการเขียนโปรแกรมภาษา
นึกถึง OOP ก่อนไม่ใช่เป็น " คุณสมบัติภาษา " แต่เป็น " พจนานุกรมทั่วไป " ที่ทำให้วิศวกรซอฟต์แวร์เข้าใกล้การออกแบบซอฟต์แวร์
ความจริงที่ว่าภาษาที่กำหนดมีหรือไม่ดั้งเดิมที่บังคับใช้พจนานุกรมโดยตรงเพื่อให้มั่นใจว่าตัวอย่างเช่นว่า "แคปซูล" ไม่ได้เปิดโดยไม่ได้ตั้งใจโดยผู้ที่ไม่ควรทำเช่นนั้นเป็นลักษณะรองของการออกแบบ OOP นั่นเป็นสาเหตุที่แม้แต่โครงการ C ขนาดใหญ่มักจะ "จัดการเป็น" OOP แม้ว่าภาษานั้นจะไม่ได้รับการสนับสนุนโดยตรง
ข้อดีของสิ่งที่ไม่สามารถจดจำได้จนกว่าขนาดโครงการจะอยู่ในความสามารถของนักพัฒนาเดียวในการทำความเข้าใจและติดตามทุกสิ่งที่เขาทำ (ในความเป็นจริงในสถานการณ์เหล่านั้นมันอาจถูกมองว่าเป็น "ค่าใช้จ่าย") หรือเป็นกลุ่มเล็ก ๆ ช่วงเวลาสั้น ๆ และนั่นคือเหตุผลหลักที่รุ่นน้องที่ศึกษา OOP ในแง่ของ "คุณสมบัติภาษา" มักจะตีความผิด ๆ ว่ามันสร้างรหัสที่ออกแบบมาไม่ดี
วิธีที่ OOP เหมาะสมกับภาษาขึ้นอยู่กับวิธีที่ผู้ออกแบบภาษาตีความหลักการ OOP ในโครงสร้างของตัวเอง
ดังนั้น "encapsulation" ใน C ++ จึงกลายเป็น "สมาชิกส่วนตัว" (และ "แคปซูล" กลายเป็นคลาส), "การแทนที่" กลายเป็นฟังก์ชั่นเสมือนการแทนที่หรือเทมเพลต parametrization / ความเชี่ยวชาญ ฯลฯ ในขณะที่ D แคปซูลคือ "โมดูล" (และการทดแทน ผ่านชั้นเรียนเป็นต้น) ทำให้กระบวนทัศน์หรือรูปแบบบางอย่างมีให้ใช้โดยตรงในภาษาที่กำหนดไม่ใช่ในรูปแบบอื่นเป็นต้น
นายหน้าคนใดที่ต้องการถามคำถาม OOP เพียงตรวจสอบความสามารถของคุณในการออกแบบซอฟต์แวร์ที่เป็นนามธรรมและเป็นรูปธรรมสำหรับโครงการขนาดใหญ่และการพัฒนาในอนาคต OOP สำหรับพวกเขาเป็นเพียง "พจนานุกรม" ที่พวกเขาควรจะรู้ทั้งตัวคุณและพวกเขาเพื่อให้คุณสามารถพูดคุยเกี่ยวกับสิ่งทั่วไปอื่น ๆ เพิ่มเติมหรือรวมเข้าด้วยกันในการดำเนินงานที่เฉพาะเจาะจง