======Object Oriented Programming (OOP)====== =====OOP คืออะไร===== Object Oriented Programming (OOP) คือการเขียนโปรแกรมเชิงวัตถุ เป็นการมองสิ่งต่างๆเป็นวัตถุที่ประกอบไปด้วยคุณสมบัติ(Property) และกระบวนการ (Method) หากเราลองมองย้อนกลับไปยุคแรกๆของภาษาคอมพิวเตอร์ เช่น C, Pascal, VB,.. ในยุคนั้น ยังเป็นภาษาระดับสูงแบบธรรมดาที่รันบนหน้าจอ console เท่านั้น หลักการ OOP เพิ่งเกิดขึ้นมาทีหลัง \\ ผลของการนำ OOP มาประยุกต์ใช้คือการเกิดโปรแกรมในลักษณะที่จับต้องได้ ยกตัวอย่างเช่น Form-Based Application หรือเรียกอีกอย่างว่า Graphic User Interface (GUI) เป็นต้น ภาษาคอมพิวเตอร์ในยุคหลังๆจึงได้ถูกพัฒนาให้รองรับ OOP ได้เป็นพื้นฐาน ยกตัวอย่าง คือ C++, C#, VB. Net, Object Pascal, เป็นต้น \\ \\ หลักการ OOP จึงสำคัญมากสำหรับการเขียนโปรแกรมสมัยใหม่ เพราะทำให้ code ลดลงและเป็นระเบียบมากขึ้น ง่ายแก่การจัดการ \\ \\ =====OOP มีอะไรบ้าง===== โดยทั่วไป หลักการ OOP ในหลายๆภาษาจะคล้ายคลึงกัน โดยหลักการดังกล่าวได้ถูกหล่อหลอมรวมกันจนกลายมาเป็น Class และ Object นั่นเอง อธิบายได้แบบสั้นๆง่ายๆดังนี้ (เนื่องจาก Class และ Object คล้ายกัน เนื่องจากเกิดมาจากหลักการ OOP เหมือนกัน ดังนั้นจะขอนำแค่ Class มายกตัวอย่าง) ====1. Encapsulation==== คือ การจำกัดการเข้าถึง Field, Method และ Property ต่างๆ ของ Class นั้นๆ เพื่อไม่ให้เกิดการเรียกใช้งานจากภายนอกอย่างไม่เหมาะสม การจำกัดการเข้าถึงในที่นี้คือการใส่ Access Specifier เหล่านี้ คือ Private, Protected, Public และ Published สำหรับรายละเอียดสามารถอ่านได้จากหัวข้อถัดไป ====2. Inheritance==== คือ การถ่ายทอด สืบต่อ เช่น Class B สืบต่อความสามารถมาจาก Class A จะทำให้ Class B สามารถทำทุกอย่างที่ Class A ทำได้ ====3. Polymorphism==== คือ การเปลี่ยนรูปร่าง เช่น หาก Class B สืบต่อความสามารถมาจาก Class A จะทำให้ Class B ถูกมองว่าเป็น Class B หรือ Class A ก็ได้ในขณะเดียวกัน ====4. Overriding==== คือ การปรับเปลี่ยน เช่น หาก Class B สืบต่อความสามารถมาจาก Class A แล้ว สำหรับ Class B เราสามารถปรับเปลี่ยนความสามารถที่ได้รับมาจาก Class A เพื่อให้ทำงานได้เหมาะสมขึ้น