16 ก.พ. เวลา 09:10 • การศึกษา

รู้จักกับการเขียนโปรแกรมเชิงวัตถุ (OOP)

เขียนโปรแกรมเชิงวัตถุ คือ การเขียนโปรแกรมอีกรูปแบบหนึ่งโดยมองสิ่งต่างๆเป็นวัตถุ (Object) ในวัตถุจะมีคุณลักษณะและพฤติกรรม โดยแนวคิดการเขียนโปรแกรมมาจากพื้นฐานความจริงในชีวิตประจำวัน
แนวคิดการเขียนโปรแกรมเชิงวัตถุนั้นจะจัด Data ไว้ในแต่ละ Object เพื่อปกป้องข้อมูลภายใน Object และลดปัญหาการเปลี่ยนแปลงข้อมูลภายใน Object โดยไม่ได้รับอนุญาต
โดย Object หนึ่งจะสามารถเข้าถึงข้อมูลในอีก Object หนึ่งได้ก็ต่อเมื่อมีการใช้ Method ของ Object ที่เป็นเจ้าของข้อมูลเท่านั้น จึงส่งผลให้การแก้ไขโปรแกรมในภายหลังทำได้สะดวกยิ่งขึ้น
องค์ประกอบพื้นฐาน
  • คลาส (class) คือ ต้นแบบของวัตถุ
  • วัตถุหรือออบเจ็ค (object) คือ สิ่งที่ถูกสร้างจากคลาสประกอบด้วยคุณสมบัติ 2 ประการ คือ คุณลักษณะ (Attribute / Property) คือ สิ่งที่บ่งบอกลักษณะทั่วไปของวัตถุ และ พฤติกรรม (Method) คือ พฤติกรรมทั่วไปของวัตถุที่สามารถกระทำได้
ตัวอย่างเช่น ช้าง
คุณลักษณะ (Attribute)
  • ชื่อ : ช้าง
  • ประเภท : สัตว์บก
  • น้ำหนัก : 6 ตัน
  • จำนวนเท้า : 4 เท้า
พฤติกรรม (Method/Behavior)
  • วิ่ง
  • นอน
  • ส่งเสียงร้อง
คุณสมบัติของการเขียนโปรแกรมเชิงวัตถุ
  • 1.
    การห่อหุ้ม (Encapsulation)
  • 2.
    การสืบทอด (Inheritance)
  • 3.
    การพ้องรูป (Polymorphism)
การห่อหุ้ม (Encapsulation) เป็นกระบวนการซ่อนรายละเอียดการทำงานและข้อมูลไว้ภายในไม่ให้ภายนอกสามารถมองเห็นและสามารถทำการเปลี่ยนแปลงแก้ไขข้อมูลภายในได้ ซึ่งเป็นผลทำให้เกิดความเสียหายแก่ข้อมูล สามารถสร้างความปลอดภัยให้แก่ข้อมูลได้ เนื่องจากข้อมูลจะถูกเข้าถึงจากผู้มีสิทธิ์เท่านั้น
การสืบทอด (Inheritance) คือ ทำการสร้างสิ่งใหม่ขึ้นด้วยการสืบทอด หรือรับเอา (inherit) คุณสมบัติบางอย่างมาจากสิ่งเดิมที่มีอยู่แล้ว ข้อดีของการ inheritance คือ สามารถนำสิ่งที่เคยสร้างขึ้นแล้วนำกลับมาใช้ใหม่ (re-use) ได้ ทำให้ช่วยประหยัดเวลาการทำงานลง เนื่องจากไม่ต้องเสียเวลาพัฒนาใหม่หมด
การพ้องรูป (Polymorphism) เกิดจาก poly (หลากหลาย) + morphology (รูปแบบ) มาเขียนรวมกัน หมายถึงสิ่งเดียวกันแต่มีกระบวนการทำงานภายในแตกต่างกัน เรียกว่า การพ้องรูป หรือ polymorphism ในทางโปรแกรมคือการที่เมธอดชื่อเดียวกัน สามารถรับอาร์กิวเมนต์ที่แตกต่างกันได้หลายรูปแบบ โดยเมธอดนี้จะถูกเรียกว่า overload method (เมธอดถูกโอเวอร์โหลด)
คุณสมบัติการพ้องรูป คือ สามารถตอบสนองต่อ Method เดียวกันด้วยวิธีการที่ต่างกันและสามารถกำหนด Object ได้หลายรูปแบบมีข้อดี คือ ทำให้โปรแกรมสามารถปรับเปลี่ยนหรือเพิ่มเติมได้ง่ายขึ้น
  • Overloading Method คือ เมธอดที่มีชื่อเหมือนกันและอยู่ภายในคลาสเดียวกัน สิ่งที่แยกความแตกต่างของเมธอดที่เป็น overload method คือ พารามิเตอร์
  • Overriding Method คือ เมธอดของคลาสลูก (subclass) ที่มีชื่อเหมือนกับเมธอดของคลาสแม่ (superclass)
➤ ติดตามข่าวสารเพิ่มเติมได้ที่ :
โฆษณา