บทที่ 3 ตอน 2 คุณสมบัติของภาษาการโปรแกรมเชิงวัตถุ

คุณสมบัติของภาษาการโปรแกรมเชิงวัตถุ 
คุณสมบัติต่างๆ ต่อไปนี้จะต้องทำความเข้าใจในเบื้องต้นก่อน ซึ่งการเขียนโปรแกรมนั้นจะขอกล่าวในบทต่อไป โดยคุณสมบัติของการเขียนโปรแกรมเชิงวัตถุจะประกอบไปด้วย  Encapsulation (การห่อหุ้มวัตถุ)  Data Hiding (การซ่อนรายละเอียด)  Inheritance(การสืบทอด) Polymorphism (การพ้องรูป)

1. Encapsulation (การห่อหุ้มวัตถุ) คือ การรวมคุณลักษณะของวัตถุและพฤติกรรมของวัตถุเข้าไว้ด้วยกันโดยกำหนดให้เป็นลักษณะชนิดของวัตถุนั้นๆ เช่นในการเขียนโปรแกรมเชิงวัตถุ จะสังเกตเห็นว่ามีตัวแปรและฟังก์ชั่นกระจัดกระจายกันอยู่ ดังนั้นเราจึงเอาตัวแปรและฟังก์ชั่นที่มีพฤตกรรมคล้ายกันมาห่อหุ้มหรือจัดกลุ่ม ไว้ด้วยกัน ดังภาพ
2.  Data Hiding (การซ่อนรายละเอียด) คือ การกำหนดระดับในการเข้าถึงข้อมูล เพื่อป้องกันการเข้ามาใช้ข้อมูลของวัตถุโดยสิ่งอื่นที่ไม่เกี่ยวข้องแล้วทำให้เกิดการผิดเพี้ยนของการทำงานทั้งระบบ ดังนั้นข้อมูลบางอย่างไม่ยินยอมให้วัตถุอื่นใดมาใช้งานได้ จำเป็นต้องซ่อนรายละเอียดตรงจุดนี้เอาไว้ เพื่อให้เกิดความปลอดภัยของวัตถุและระบบโดยรวมให้มากที่สุด
มีผู้สังเกตเห็นว่าในชีวิตประจำวันนั้น ไม่จำเป็นต้องทราบหรือรู้ทุกเรื่องก็สามารถใช้งานสิ่งของนั้นๆ ได้ เช่น คอมพิวเตอร์ที่นักศึกษาใช้อยู่ไม่ต้องทราบการทำงานของอุปกรณ์หรือวงจรภายใน แต่ก็สามารถเปิดเครื่องหรือใช้งานโปรแกรมต่างๆ ผ่านอุปกรณ์ต่างๆ
ในส่วนประกอบบางอย่างของวัตถุผู้ออกแบบก็อนุญาตให้เราสามารถเรียกใช้หรือเข้าถึงได้ และในขณะเดียวกันส่วนประกอบบางอย่างผู้ที่ออกแบบวัตถุนั้นก็ไม่ยอมให้เข้าถึงหรือเรียกใช้ได้ เช่น ส่วนประกอบของรถยนต์ ผู้ใช้สามารถเข้าถึง พวงมาลัย ที่เหยียบคลัช ที่เหยียบเบรค ประตู เนื่องจากผู้ออกแบบต้นแบบรถคันนี้ ได้อนุญาตให้เข้าใช้งาน แต่ในขณะเดียวกันผู้ออกแบบรถคันก็ไม่ได้อนุญาตให้เราเข้าถึงองค์ประกอบบางอย่าง จึงไม่สามารถเข้าถึงได้ เช่น  เครื่องยนต์  ระบบเบรก  ระบบเกียร์  
ในการเขียนโปรแกรมนั้น ตัวแปร หรือ เมธอดที่อยู่ในวัตถุ สามารถเรียกใช้หรือเข้าถึงได้ โดยสามารถใช้คำว่าประกอบ Public (สาธารณะ) นำหน้าก่อนการประกาศตัวแปร หรือ การเข้าถึงไม่ได้จะใช้คำประกอบนำหน้าตัวแปร หรือเมธอดนั้นว่า Private (ส่วนตัว)
3.  Inheritance (การสืบทอด) เป็นการขยายลักษณะพิเศษหรือความสามารถของชนิดวัตถุใหม่จากชนิดวัตถุพื้นฐานให้มีลักษณะของเดิมและเพิ่มเติมสิ่งใหม่ๆ เข้าไปด้วย  เช่น คลาสมนุษย์ เป็นคลาสที่มีคุณสมบัติและพฤตกรรมพื้นฐานที่ทุกคนจะต้องมี และสืบทอดคุณสมบัตินี้ไปยัง คลาสประชาชน ซึ่งจะต้องมีการระบุ เชื้อชาติ สัญชาติ และมีพฤติกรรมในการสื่อสารที่เหมือนกัน และคลาสประชาชนนี้ยังถูกสืบทอดไปยังคลาสนักเรียน  ดังภาพ
คุณสมบัติของการสืบทอดนี้ (Inheritance) ทำให้การโปรแกรมเชิงวัตถุมีข้อดี คือ สามารถสร้างงานต่างๆ ได้เร็วเพราะสามารถนำของเก่ามาใช้งานใหม่ได้ เรียกว่า “Reused” คือการนำเอาคลาสกลับมาใช้ใหม่ แต่ก็ยังมีลักษณะอีกอย่างที่ช่วยให้เกิด “Reused” ได้เช่นกัน คือ Composition คือ การสร้างวัตถุใดๆ ด้วยการประกอบจากวัตถุอื่น
4.  Polymorphism (การพ้องรูป) เป็นคุณสมบัติที่ชนิดของวัตถุที่เกิดจากชนิดของวัตถุแม่เดียวกันสามารถมีความสามารถ (เมธอด) เหมือนแม่แต่ผลลัพธ์การดำเนินงานไม่เหมือน คือ มีลักษณะเฉพาะตัว ตัวอย่างเช่น พฤติกรรมการบินของของคลาสสัตว์ทั้ง 3 ชนิด ที่มีความแตกต่างกันแต่ชื่อพฤติกรรมเหมือนกัน




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

บทที่ 11 ตอน 3 การออกแบบรายงานด้วย Crystal Report

บทที่ 6 กระบวนการพอลิมอร์ฟิซึม (Polymorphism)

บทที่ 11 ตอน 3 การออกแบบรายงานด้วย Crystal Report Ex2