การเขียนโปรแกรมเชิงวัตถุ ( Object-oriented programming , OOP ) เป็นหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์รูปแบบหนึ่ง ไม่ใช่ทั้งภาษาหรือซอฟต์แวร์แต่เป็นเพียงรูปแบบการเขียนและยังเป็นวิธีคิดอีกด้วย หลักการในการการเขียนโปรแกรมเชิงวัตถุคือการมองทุกสิ่งในโลกให้เป็นวัตถุ เป็นการทำให้ปัญหาที่เป็นนามธรรมกลายมาเป็นรูปธรรม เพื่อทำให้คอมพิวเตอร์สามารถแก้ปัญหาเหล่านั้นได้ด้วยการพัฒนาเป็นซอฟต์แวร์ และการพัฒนาซอฟต์แวร์ที่มีการนำเทคโนโลยี Object มาใช้งานก็คือการเขียนโปรแกรมเชิงวัตถุ (Object – Oriented Programming) นั่นเอง การเขียนโปรแกรมเชิงวัตถุประกอบไปด้วยกัน 3 หลักการ
- การห่อหุ่ม ( Encapsulate ) คือการแยกโค้ดส่วนวัตถุ (object) ออกจากโค้ดส่วนเชื่อมต่อ (Interface) กับโค้ดส่วนประมวลผลและข้อมูล (Process and Data) และส่วนประมวลผลและข้อมูลควรนำซ่อนไว้ในส่วนเชื่อมต่อ (Interface) เมื่อเวลาที่แก้ไขส่วนประมวลผลโปรแกรมก็จะยังสามารถใช้งานส่วนวัตถุ (object) ได้ทั้งหมด
- การสืบทอดความสามารถและคุณสมบัติ ( Inheritance ) คือการขยายคุณสมบัติของคลาสโดยการคงตัวแม่แบบเอาไว้คลาสที่สืบทอดออกมาจะมีความสามารถและคุณสมบัติเช่นเดียวกับต้นแบบทุกประการและเราสามารถเพิ่มเติมความสามารถและคุณสมบัติได้
- การพ้องรูป ( Polymorphism ) คือการทำให้วัตถุที่สร้างขึ้นมาใหม่สามารถจะใช้การทำงานของวัตถุที่เป็นต้นแบบได้ เช่น คนกับแมวจะเดินไม่เหมือนกันแต่ก็สามารถจะทำงานด้วยคำสั่งชื่อเดียวกันได้ คือ เดิน
การเขียนโปรแกรมเชิงวัตถุเป็นเพียงหนึ่งรูปแบบของการเขียนโปรแกรมที่จะมองทุกอย่างให้เป็นวัตถุเพื่อให้ง่ายต่อการเขียนโปรแกรม การเขียนแต่ละรูปแบบก็มีวีธีการที่แตกต่างกันออกไป เช่น การเขียนโปรแกรมแบบ Procedural กับแบบ Object Oriented ที่มีความแตกต่างกัน
อ้างอิง
http://www.siam2dev.net/E_Learning/OOP/Lec01_OOP_concept_lastupdate_07_07_2561_PDF.pdf
https://www.saladpuk.com/beginner-1/oop
https://www.wynnsoft-solution.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/_Object_Oriented_Programming