การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นกระบวนทัศน์การเขียนโปรแกรมตามแนวคิดของ "วัตถุ" ซึ่งอาจมีข้อมูลในรูปแบบของแอตทริบิวต์ และคำแนะนำในการทำสิ่งต่างๆ ในรูปแบบของวิธีการ
ตัวอย่างเช่น บุคคลเป็นวัตถุที่มีคุณสมบัติบางอย่าง เช่น ส่วนสูง เพศ อายุ ฯลฯ นอกจากนี้ยังมีวิธีการบางอย่าง เช่น การเคลื่อนไหว การพูดคุย เป็นต้น
วัตถุ
นี่คือหน่วยพื้นฐานของการเขียนโปรแกรมเชิงวัตถุ นั่นคือทั้งข้อมูลและฟังก์ชันที่ทำงานบนข้อมูลรวมกันเป็นหน่วยที่เรียกว่าวัตถุ
คลาส
เมื่อคุณกำหนดคลาส คุณจะต้องกำหนดพิมพ์เขียวสำหรับออบเจกต์ สิ่งนี้ไม่ได้กำหนดข้อมูลใด ๆ แต่กำหนดว่าชื่อคลาสหมายถึงอะไร นั่นคือวัตถุของคลาสจะประกอบด้วยอะไรและการดำเนินการใดที่สามารถดำเนินการกับวัตถุดังกล่าวได้
OOP มีแนวคิดพื้นฐานสี่ประการซึ่งเป็นพื้นฐานทั้งหมด มาดูกันทีละตัวกัน −
- สิ่งที่เป็นนามธรรม − สิ่งที่เป็นนามธรรมหมายถึงการให้ข้อมูลที่จำเป็นแก่โลกภายนอกและซ่อนรายละเอียดเบื้องหลังเท่านั้น ตัวอย่างเช่น เว็บเซิร์ฟเวอร์ซ่อนวิธีการประมวลผลข้อมูลที่ได้รับ ผู้ใช้ปลายทางจะเข้าถึงจุดสิ้นสุดและรับข้อมูลกลับคืนมา
- การห่อหุ้ม − การห่อหุ้มเป็นกระบวนการในการรวมสมาชิกข้อมูล (ตัวแปร คุณสมบัติ) และฟังก์ชันสมาชิก (วิธีการ) เข้าด้วยกันเป็นหน่วยเดียว นอกจากนี้ยังเป็นวิธีการจำกัดการเข้าถึงคุณสมบัติบางอย่างอีกด้วย
- การสืบทอด − ความสามารถในการสร้างคลาสใหม่จากคลาสที่มีอยู่เรียกว่า Inheritence การใช้การสืบทอด เราสามารถสร้างคลาสลูกจากคลาสพาเรนต์ เพื่อสืบทอดคุณสมบัติและเมธอดของคลาสพาเรนต์ และสามารถมีคุณสมบัติและเมธอดเพิ่มเติมของตัวเองได้ ตัวอย่างเช่น ถ้าเรามีคลาสรถที่มีคุณสมบัติเช่นสีราคา ฯลฯ เราสามารถสร้าง 2 คลาสเช่น Bike และ Car จากมันที่มี 2 คุณสมบัติและคุณสมบัติเพิ่มเติมที่เฉพาะสำหรับพวกเขาเช่นรถยนต์ที่มี numberOfWindows ในขณะที่ a จักรยานไม่สามารถ วิธีการก็เช่นเดียวกัน
- พหุสัณฐาน − คำว่า polymorphism หมายถึง มีหลายรูปแบบ โดยปกติ ความหลากหลายจะเกิดขึ้นเมื่อมีลำดับชั้นของคลาสและสัมพันธ์กันโดยการสืบทอด ความแตกต่างของ C++ หมายความว่าการเรียกใช้ฟังก์ชันสมาชิกจะทำให้ฟังก์ชันอื่นทำงานขึ้นอยู่กับประเภทของอ็อบเจ็กต์ที่เรียกใช้ฟังก์ชัน ตัวอย่างเช่น หากเรามีคลาสที่ชื่อว่า Shape และเมธอดที่เรียกว่า getArea ในนั้น เราก็จะได้รับการประมวลผลพื้นที่ด้วยวิธีอื่น (Circle vs square)
คุณสามารถไปที่บทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ C ++ ในบทช่วยสอน
point(https://www.tutorialspoint.com/cplusplus/cpp_object_oriented.htm) เพื่อเริ่มเรียนรู้ OOP