วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

แนวความคิดเชิงวัตถุ (Object – Oriented Concept)

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

นางสาวกนกวรรณ ดาษเสถียร (แนน)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น