Object คือหน่วยสนใจของระบบที่ทำให้เกิดเหตุการณ์บางอย่าง
สำหรับออบเจ็กต์ในโลกของเทคโนโลยีเชิงวัตถุ จะเน้นที่ตัวปฏิบัติการมากกว่าการปฏิบัติ
Object แบ่งได้ 2 ประเภท คือ สิ่งที่เป็นรูปธรรม และนามธรรม
สิ่งที่มีลักษณะเป็นรูปธรรม (จับต้องได้) เช่น จักรยาน รถ สุนัข องค์กร ใบรายการสินค้า เป็นต้น
-สิ่งที่มีลักษณะเป็นนามธรรม (จับต้องไม่ได้) เช่น ความเป็นเจ้าของ เที่ยวบิน การวิ่ง แสง เป็นต้น
Object จะประกอบด้วย 2 ส่วนปฎิบัติการคือ Attribute และ Method โดย Attribute เรียกอีกอย่างว่า Data และ Method เรียกอีกอย่างว่า Behavior
Object Data : จะเป็นส่วนข้อมูลลับของ Object ที่จะทราบเฉพาะภายใน Object เท่านั้น เช่น
Object คน จะมี attribute คือ หมายเลขบัตรประชาชน, วันเกิด, เพศ, ที่อยู่ เป็นต้น
Object สุนัข จะมี attribute คือ ชื่อ, สี, พันธุ์, เป็นต้น
Object จักรยาน จะมี attribute คือ gear, คันเร่ง, ล้อ เป็นต้น
ฉะนั้นจะเห็นคำว่า Attribute และ Data มีความหมายใกล้เคียงกัน เช่นถ้า สี
Attribute คือ สี
Data คือ แดง, ดำ, เขียว เป็นต้น
Object Behavior : สิ่งที่ Object นั้นๆ สามารถทำได้ ในทาง Procedural language จะเรียก behavior เป็น procedure, function หรือ subroutine ส่วนในทาง o-o programming จะเรียก behavior เป็น method เช่น
Object คน จะมี methods คือ การเดิน, ยืน, มีรถ เป็นต้น
Object สุนัข จะมี methods คือ การเห่า, การหายใจ, การกระดิกหาง เป็นต้น
Object จักรยาน จะมี methods คือ การเบรค, การเร่ง, การชลอ เป็นต้น
ฉะนั้นจะเห็นคำว่า method และ behavior มีความหมายเหมือนกัน
Object แปลว่าวัตถุทั้งที่จับต้องได้ และจับต้องไม่ได้
Orientation ซึ่งมาจากคำว่า Orient แปลว่า นำทาง นำไป
Object Orientation หมายถึง การใช้ Object เป็นตัวหลักเพื่อการพิจารณาความเป็นจริงต่างๆ
ที่เกิดขึ้นในโลก
Object ทุกตัวจะต้องอยู่ใน class ซึ่ง class กับ object เป็นสิ่งที่คู่กันเสมอ สามารถทราบรายละเอียดและคุณสมบัติ ของ Object ได้ด้วยการดูที่ Class
Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน นั่นคือ class คือต้นแบบข้อมูลที่มีไว้เพื่อสร้าง object นั่นเอง ฉะนั้นก่อนที่จะทำการสร้าง object จะต้องสร้าง class ขึ้นมาก่อน
Class นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้น ยังมี Attribute และ Operation ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆ โดยแสดงในลักษณะ Template
Encapsulation(Protection)
Encapsulation : คือรากฐานอย่างหนึ่งของแนวคิดในเชิง Object-Oriented ซึ่งข้อดีของ
Encapsulation คือการป้องกัน Attribute ของ Object จากความเสียหาย
Encapsulation คือการห่อหุ้ม Attribute และ Methods เข้าไว้ด้วยกัน
Encapsulation จะทำหน้าที่ป้องกันมิให้ Object อื่นที่อยู่ภายนอก เข้าถึง Object หนึ่งๆ ได้อย่างอิสระจะมีเฉพาะ Methods ที่อยู่ใน Object เท่านั้นจะสามารถติดต่อกับ Attribute ที่อยู่ใน Object เดียวกันได้
Inheritance การสืบทอดคุณสมบัติ
Inheritance : คือ คุณสมบัติที่ Class ๆ หนึ่งสามารถสืบลักษณะของ Attribute และ Method ของอีก Class หนึ่งได้การทำเช่นนี้ทำให้คุณสามารถ Create Class ใหม่ขึ้นโดยนำสาระสำคัญ ที่เหมือนกันของ Attribute และ Behavior (Method) จาก Class อื่นมาใช้ได้
การสืบทอดคุณสมบัติ (Inheritance)
การสืบทอดคุณสมบัติ (Inheritance) มีข้อดีดังนี้
1. ทำให้มีโครงสร้างที่เป็นระบบ ระเบียบ ปรับเปลี่ยนได้ง่าย
2. ลดเวลาในการพัฒนาระบบ
3. ลดค่าใช้จ่ายในการพัฒนา
การสืบทอดโดยอาศัยคุณสมบัติของออบเจ็กต์ที่มีอยู่แล้วใส่ลงในออบเจ็กต์ตัวใหม่ หลักของการสืบทอดคุณสมบัติเป็นลำดับชั้น จะทำให้ความสัมพันธ์ระหว่างออบเจ็กต์มีความชัดเจนยิ่งขึ้น
โพลิมอร์ฟิสซึม (Polymorphism)
หมายถึง การบอกแบบเดียว แต่ได้รับการตอบสนองหลายรูปแบบ (Poly = “many”, morph = “form”) ซึ่งเป็นไปตามหลักการของเทคโนโลยีเชิงวัตถุ เช่น ฟังก์ชันการวาด DrawChart( )
Composition
Composition คือ Object ที่ไม่ได้เป็น Object หน่วยย่อยที่สุด หรือเป็น Object ที่ประกอบขึ้นจาก Object อื่นหลายๆ Object อยู่ภายใน เช่น
Object Computer ประกอบไปด้วย Object video card, object keyboards, object drive, object power supply เป็นต้น
ข้อดีของ Composition มีดังนี้
1.ทำให้ระบบมีความซับซ้อนน้อยที่สุด
2.Composition มีส่วนช่วยในการ reuse
3.การแบ่งระบบออกเป็นส่วนการทำงานย่อยๆนั้น ส่วนต่างๆ จะสามารถทำงานได้เป็นอิสระต่อกันส่งผลให้การทดสอบและปรับปรุงแก้ไขแต่ละส่วนสามารถทำได้อย่างอิสระ
ชนิดของ Composition สามารถแบ่งออกได้เป็น 2 ประเภทดังนี้
1.Aggregation
2.Association
Aggregation : การนำส่วนประกอบย่อยๆ หลายๆอย่างมาประกอบเป็นหนึ่ง Object ที่สามารถใช้งานได้อย่างสมบูรณ์ ถ้าขาดส่วนหนึ่งส่วนใดจะเกิดการผิดพลาดได้
Association : จะแสดงส่วนของ Object ทั้งหมดที่เป็นอิสระต่อกัน ที่มีการทำงานไม่ขึ้นกับส่วนของ Object อื่นๆ
ความเหมือนและต่างกันระหว่าง Association และ Aggregation
ความเหมือนระหว่าง Association และ Aggregation :
-แต่ละส่วนจะได้รับการสร้างเป็น Object ทำให้ง่ายในการ reuse
-จะมีการทำงานของแต่ละ Object เป็นลักษณะเฉพาะที่สามารถปรับเปลี่ยน หรือแก้ไข โครงสร้างภายใน Object นั้นได้โดยสะดวก ไม่กระทบต่อการทำงานของ Object อื่น
ความแตกต่างกันระหว่าง Association และ Aggregation :
-ความสัมพันธ์ระหว่าง Object ส่วนของ Aggregation นั้นวัตถุแต่ละชิ้นจะทำโดยพึ่งพาอาศัยกัน ซึ่งถ้าวัตถุชิ้นใดขาดหายไปจะทำให้การทำงานทั้งหมดกระทบกระเทือนไปด้วย
-ส่วนของ Association วัตถุแต่ละส่วนจะทำงานในแบบขอบริการซึ่งกันและกัน ดังนั้นถ้าขาดวัตถุชิ้นใด อาจทำให้ไม่สมบูรณ์แต่ไม่ถึงกับการทำงานทั้งหมดหยุดชะงัก
-ซึ่งจะเลือกวิธีใดขึ้นอยู่กับระบบที่จะทำการออกแบบและการวิเคราะห์ของการออกแบบวิธีใดเหมาะสมมากกว่ากัน
ที่มาhttp://www.bloggang.com/mainblog.php?id=oui-to-gether&month=21-01-2008&group=5&gblog=6
นางสาวกนกวรรณ ดาษเสถียร (แนน)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น
หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น