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