Page 33 - วิศวกรรมซอฟต์แวร์
P. 33
การออกแบบซอฟต์แวร์เชิงวัตถุ 7-23
บุคลากร
Specialize Generalize Specialize
Generalize
เจ้าหน้าที่ อาจารย์
ภาพที่ 7.9 ตวั อยา่ งความสมั พนั ธ์ระหว่างคลาสแบบการระบคุ ุณลกั ษณะทวั่ ไปและการระบุความเฉพาะเจาะจง
จากภาพท่ี 7.9 แสดงการระบุคุณลักษณะท่ัวไป จากคลาสเจ้าหน้าท่ีและคลาสอาจารย์ ไปสู่คลาสบุคลากร
เน่ืองจากคลาสเจ้าหน้าท่ีและคลาสอาจารย์ มีแอตทริบิวต์และเมธอดบางอย่าง เช่น รหัส ช่ือ สกุล สังกัด และเมธอด
ตรวจสอบรหัส ชื่อ สกุล สังกัด ที่สามารถจัดเป็นคุณลักษณะท่ัวไปของคลาสบุคลากรได้ และในทางตรงกันข้าม หาก
มองย้อนกลับสามารถท�ำกระบวนการระบุความเฉพาะเจาะจงได้ โดยมองจากคลาสบุคลากร แล้วจ�ำแนกคลาสย่อย
ออกมาเป็นคลาสอาจารย์และคลาสเจ้าหน้าที่ได้เช่นกัน แต่โดยท่ัวไปมักนิยมระบุคุณลักษณะท่ัวไปมากกว่าระบุความ
เฉพาะเจาะจง
ในกระบวนการสร้างความสัมพันธ์ในลักษณะการระบุคุณลักษณะท่ัวไปนี้ ท�ำให้เกิดคุณลักษณะของแนวคิด
เชิงวัตถุข้ึน น่ันคือ การสืบทอดคุณสมบัติ (inheritance) โดยวัตถุสามารถที่จะสืบทอดคุณสมบัติถึงกันได้ เช่นเดียว
กับคลาสซึ่งเป็นต้นแบบท่ีจะน�ำไปสร้างวัตถุอีกต่อหนึ่ง คลาสหน่ึงสามารถท่ีจะสืบทอดคุณสมบัติจากอีกคลาสหนึ่งได้
โดยคลาสท่ีเป็นผู้รับการสืบทอดจะมีคุณสมบัติเช่นเดียวกับคลาสท่ีเป็นผู้ให้การสืบทอด
การสืบทอดคุณสมบัติ (inheritance) หมายถึง การถ่ายคุณสมบัติจากคลาสผู้ให้การสืบทอด หรือที่เรียกว่า
คลาสแม่ (super class) ไปยังคลาสท่ีเป็นผู้รับการสืบทอด หรือที่เรียกว่า คลาสลูก (sub class) โดย คลาสลูก คือ
คลาสท่ีเกิดจากการระบุความเฉพาะเจาะจง และคลาสแม่ คือ คลาสเริ่มต้นในการระบุความเฉพาะเจาะจง เรียกการ
สืบทอดคุณสมบัตินี้ว่า “การเป็นประเภทหนึ่งของ (a-kind-of)” เช่น เจ้าหน้าที่และอาจารย์ เป็นประเภทหน่ึงของ
บุคลากร สามารถแสดงการสืบทอดคุณสมบัติ ด้วยเส้นตรงที่มีปลายลูกศรสีขาวจากคลาสที่เป็นผู้รับการสืบทอด (sub
class) ช้ีไปที่คลาสที่เป็นผู้ให้การสืบทอด (super class) แสดงได้ดังภาพท่ี 7.10
บุคลากร คลาสผู้ให้การสืบทอด
คลาสผู้ได้รับ เจ้าหน้าที่ อาจารย์ คลาสผู้ได้รับ
การสืบทอด การสืบทอด
ภาพท่ี 7.10 การสืบทอดคุณสมบัตขิ องคลาส