วันอังคารที่ 25 มิถุนายน พ.ศ. 2556

วัตถุ (Object)



         คือ การมองภาพสิ่งต่าง ๆ เป็นวัตถุเป้าหมาย ภายใน Object ประกอบด้วย Properties (คุณสมบัติของ Object) กับ Behavior (พฤติกรรมการตอบสนองต่อเหตุการณ์ :Event ต่าง ๆ ของ Object)

ตัวอย่างของ Object ในโลกแห่งความเป็นจริง เช่น
       “Object : มนุษย์” ประกอบด้วยคุณสมบัติ (Properties) สีผม , สีผิว ,ความสูง, สัดส่วน เป็นต้น และมีพฤติกรรมการตอบสนองต่อเหตุการณ์ (Behavior) เช่น ตอบสนองต่อการถูกชกต่อย ตอบสนองต่อเหตุการณ์ถูกไล่ล่า เป็นต้น
       “Object : จักรยาน” ประกอบด้วยคุณสมบัติ (Properties) สีรถ , ขนาด ,รุ่น, ประเภท เป็นต้น และมีพฤติกรรมการตอบสนองต่อเหตุการณ์ (Behavior) เช่น ตอบสนองต่อการปันจักรยาน ตอบสนองต่อเหตุการณ์เบรก เป็นต้น

ตัวอย่างของ Object ในมุมมองทางด้านโปรแกรม
         Object : ปุ่ม ประกอบด้วยคุณสมบัติ (Properties) ข้อความบนปุ่ม ,
ขนาดของปุ่ม ,สีของปุ่ม, Stye ของปุ่ม เป็นต้น และมีพฤติกรรมการตอบสนองต่อเหตุการณ์ (Behavior) เช่น ตอบสนองต่อการถูก Click เป็นต้น

คุณสมบัติ (properties )
        คือ คุณสมบัติหรือคุณลักษณะของ Object ที่ได้กล่าวมาในข้างต้น

พฤติกรรม (Behavior)
        คือ เหตุการณ์ (Event) ที่ทำให้ Object แสดงพฤติกรรมต่าง ๆ เช่น เหตุการณ์ของปุ่ม Add เมื่อถูก Click จะแสดงพฤติกรรมคือ สั่งให้ Text ว่างเพื่อให้ผู้ใช้สามารถป้อนข้อมูล Record ใหม่ได้

คลาส (Class)

        คือ เป็นต้นแบบหรือแม่พิมพ์ ที่ใช้ในการผนวกหลาย ๆ Object เข้าด้วยกัน โดยจัดกลุ่ม Object ที่มีความคล้ายคลึงกันอยู่ใน Class เดียวกัน

- ตัวอย่างของ Class ในโลกแห่งความเป็นจริง เช่น 

“Class: มวยสากล” ประกอบด้วย


        จะเห็นได้ว่าแต่ละ Object จะมี Properties และ Behavior ที่แตกต่างกัน เช่น
“Object สมรักษ์” มีลักษณะตัวสูง พูดจาโอ้อวดนิด ๆ มีพฤติกรรมในการชกที่สามารถออกหมัดได้เร็ว และแม่นยำ ซึ่ง Properties และ Behavior นี้ก็จะมีลักษณะที่แตกต่างไปจาก “Object สามารถ”

        Note: การสร้าง Class ก็เช่นเดียวกับการจัดกลุ่มข้อมูล เราจะไม่นำ “Object ของมวยไทย” เข้ามาปะปนกับ “Object ของมวลสากล” เพราะทำงานคนละลักษณะกัน
ตัวอย่างของ Class ในมุมมองทางด้านโปรแกรม

“Class: ปุ่มคำสั่ง” ประกอบด้วย

ตัวดำเนินการ (Operation)
         หรือความหมายเดียวกับ “Method” นั่นเอง เป็นวิธีการในการควบคุมหรือสั่งงาน Behavior ให้ Object นั้นตอบสองต่อเหตุการณ์หรือคำสั่งตามที่เราต้องการ

อินสแตนซ์ (Instance)

         คือ Object ที่ใช้งานจริง ๆ ซึ่งถูกสร้างขึ้นใน Class นั้น ๆ เช่น Object ที่ถูกสร้าง (Instantiated) จาก Class A ก็จะเป็น Instance ของ class A

การห่อหุ้มข้อมูล (Encapsulation)
        คือการรวมข้อมูล และ ฟังก์ชัน เข้าไว้ใน Object ตัวเดียว และสามารถปกป้องไม่ให้คนนอก ซึ่งหมายถึง Object อื่นๆ เข้าถึงได้ สามารถ "ห่อหุ้มข้อมูล" ภายใน Class โดยระบุ Keyword ด้วยคำว่า “private” นำหน้า Class นั้น ๆ

การสืบทอด (Inheritance)
         คือ “Class แม่” (Super Class) สามารถสืบทอดข้อมูลไปยัง “Class ลูก” (Sub Class) ได้ ซึ่ง Class ลูกจะรับคุณสมบัติทุกอย่างมาจาก Class แม่ และสามารถเพิ่มเติมคุณสมบัติใหม่เฉพาะตัวของตนเองเข้าไป การสืบทอดจะทำได้โดยระบุ Keyword ด้วยคำว่า “protecte” นำหน้า Class นั้น ๆ
ตัวอย่างเช่น


คุณสมบัติเฉพาะตัวที่ Class ลูกเพิ่มเติมให้กับตัวเอง
“Class แม่” สามารถสืบทอดคุณสมบัติของตัวเอง (Inheritance) ที่มีอยู่ไปให้กับ “Class ลูก” ดังนั้น “Class ลูก” จึงสามารถรับทุกอย่าง (Derive) มาจาก “Class แม่” ได้

การเปลี่ยนรูป (Polymorphism)

        คือ ความสามารถในการเขียนโปรแกรมให้ Method ใด ๆ ของ Object ที่เราสืบทอดมาจาก “คลาสแม่” นั้นสามารถทำงานแตกต่างไปจาก Object ใน “คลาสแม่” เรียกได้ว่าเป็นการเปลี่ยนรูปร่างของ Object หนึ่ง ๆ ตัวอย่างเช่น คลาส Rectangle และคลาส Circle สืบทอดคุณสมบัติในการวาดรูปมาจาก (Derived) คลาส Poligon โดยทั้งสองคลาสนี้สามารถเพิ่มเติมคุณลักษณะเฉพาะของตนเองเข้าไป นั่นก็คือ Operation (Method) draw() ที่ใช้ในการวาดรูป แต่เมื่อ 2 คลาสนี้เรียกใช้ draw() แล้ว จะทำงานจะได้ผลลัพธ์แตกต่างกัน

ลายเซ็น (Signature)
          ประกอบด้วยชื่อของ Operation(Method), ตัวแปร Parameter, Data Type คล้ายกับรูปแบบประโยคการสร้าง Operation (method) เช่น

                          Boolean      Soperation(int    sa)

การสื่อสารระหว่างวัตถุ (Message Passing)
          เป็นการสั่งงาน (ส่งข้อมูล : Message) ไปยังวัตถุให้แสดงพฤติกรรมต่าง ๆ ซึ่งใน Message จะประกอบด้วย ชื่อ Operation , ค่า Parameter ในการรับส่งค่า ซึ่งการส่ง Message ไปยัง Object ก็จะเป็น
การเรียกใช้งาน (Call) Object หรือ Method นั่นเอง

ความสัมพันธ์ระหว่าง Class (Relationship)
         คือ ความสัมพันธ์ระหว่าง Class ที่ทำงานร่วมกัน สามารถจำแนกได้ดังนี้
- ความสัมพันธ์แบบพึ่งพา ( Dependency) เช่น “Class ลูกค้า” กับ “Class ขายสินค้า” กล่าวได้ว่า “Class ขายสินค้า” ขึ้นอยู่กับ “Class ลูกค้า” เพราะ เมื่อลูกค้ามีการเปลี่ยนแปลงคำสั่งซื้อ หรือคำสั่งผลิต รายการขายก็จะต้องถูกเปลี่ยนแปลง (Update) ตามลูกค้า
- ความสัมพันธ์แบบสืบทอดคุณสมบัติ (Inheritance) เช่น “Class แม่” (super class) สืบทอดคุณลักษณะเฉพาะที่ตนมีอยู่ไปยัง “Class ลูก” (sub class)
- ความสัมพันธ์แบบร่วมกัน (Association) คือ ความสัมพันธ์ที่เกี่ยวเนื่องมีความสัมพันธ์ซึ่งกันและกัน เช่น  “Class นักเรียน” สัมพันธ์กับ “Class รายวิชา” ในเรื่องของการลงทะเบียนเรียน

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

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