บทที่1. วิธีคิดแบบ Object

Object type

            Object type คือ กลุ่มของข้อมูลประเภทหนึ่ง ๆ ส่วน object คือ ข้อมูลชิ้นส่วนหนึ่งที่เราสนใจ และหยิบยกออกมาเป็นตัวอย่างจาก object type ทั้งหมด เช่น Object type ของ people จะมี object คือ Mr.Dang, Mr.john, Mrs. Jenny

Object type ของ car       จะมี object คือ seden, truck, motorcycle

  

 

 

   

 

Object type ของ animal     จะมี object คือ cat,dog, lion, mouse

  

 

 

       

    

 

ในทาง Object-Orient  programming จะมีหลักการที่สำคัญอย่างหนึ่ง คือ ให้มองสิ่งที่เราสนใจทุกอย่างให้เป็น object ซึ่งหลักการนี้เป็นแนวคิดที่เข้าใกล้ธรรมชาติของมนุษย์มากที่สุด เนื่องจากมนุษย์มักจะมองเห็นสิ่งต่างๆ รอบตัวเป็น Object อยู่เสมอ เช่น ตั้งแต่ตื่นนอนขึ้นมาเห็นหลอดไฟบนเพดาน(หลอดไฟเป็น object) ต่อไปต้องไปล่างหน้าที่อ่างน้ำ    (อ่างน้ำเป็น Object)อาบน้ำด้วยฟัก-บัว และเช็ดตัวด้วยผ้าเช็ดตัว(ฟักบัวเป็น object และผ้าเช็ดตัวเป็น object)แต่งตัวด้วย  เสื้อยืดกางเกงยีน เดินลงบันไดไปกินข้าวไข่เจียวบนจานสีเขียวด้วยช้อนส้อม

        ความหมายของ Object แบ่งได้เป็น 2 ประเภทคือ สิ่งที่เป็นรูปธรรมและนามธรรม ที่มีอยู่จริงบนพื้นโลก(real-world สิ่งที่มีลักษณะเป็นรูปธรรม(จับต้องได้) เช่น จักรยาน รถ สุนัข องค์กร ใบรายการสินค้า เป็นต้น

    Object ทุก object จะประกอบด้วย 2 ส่วนปฏิบัติการคือ attribute และ method โดย attribute หรือเรียกได้อีกอย่างว่า data และ method ที่เรียกได้ว่า behavior จะมีรายละเอียดดังต่อไปนี้

object Data

       ในทาง Object-Orientprogramming จะเรียก data ของ object ว่า attribute และการเขียนโปรแกรม ส่วน attribute ของ   object จะเป็นส่วนข้อมูลลับของ object ที่จะทรายเฉพาะภายใน object เท่านั้น (จะได้ทราบต่อไปว่าทำไม)ซึ้งในที่นี้จะยกตัวอย่างบางตัวอย่างของ attribute บนobject บางส่วนดังนี้

 -object  คน จะมี attribute   คือ หมายเลขประชาชน,วันเกิด,เพศ,เบอร์โทรศัพท์ ฯลฯ 

 -object สุนัข จะมี attribute   คือ ชื่อ,สี,พันธุ์,อาหาร ฯลฯ

                 -object จักรยาน จะมี attribute  คือ gear, คันเร่ง,ล้อ ฯลฯ เป็นต้น

        attribute หนึ่งๆ จะทำการติดต่อกับ object อื่นได้โดยผ่าน method ของ object เท่านั้น ใน attribute หนึ่งๆ จะมีค่าได้มากกว่าหนึ่งค่า โดยค่า ของแต่ละ attribute จะคงค่าของการเปลี่ยนแปลงครั้งสุดท้ายไว้จนกว่าจะมี method ที่มาทำให้ค่านี้เปลี่ยนแปลงไป

Object  Behavior

      Behavior ของ object คือ สิ่งที่ object นั้นๆ สามารถทำได้ ในทาง Procedural language จะเรียกbehavior เป็น procedure, function หรือ subroutine ส่วนในทาง object oriented programming จะเรียกbehavior เป็น method วิ่ง method ก็คือ ลำดับคำสั่งในการทำงานของ  computer       ตัวอย่าง เช่น

                object  คน  จะมี methods คือ การเดิน, ยืน, มีบัตรประจำตัว, มีรถ ฯลฯ

object  สุนัข จะมี methods คือ การเห่า, การหายใจ, การกระดิกหาง ฯลฯ

object จักรยาน  จะมี methods คือ การเบรค, การเร่ง, การชลอ, การเปลี่ยน gear ฯลฯ เป็นต้น

         ภายใน object  หนึ่งๆ นั้นจะประกอบด้วย attribute และ method  ซึ่งได้ทราบแล้วในข้างต้น โดยโครงสร้างของ object แล้วนั้น สามารถเปรียบเทียบได้ว่าส่วนของ attribute จะได้รับการห่อหุ้ม (Encapsulate) ด้วย method ดังนั้นเมื่อ   object ใดๆ ต้องการจะติดต่อกันจะต้องผ่านส่วนที่เรียกว่า method เท่านั้น จากลักษณะดังกล่าวส่วนของ method จึงต้องมีข้อมูลที่สามารถเปิดเผยให้ object อื่นทราบได้ดังนี้

      - ชื่อของ method ที่ใช้ในการอ้างถึง

     -  คุณลักษณะ หรือ properties ของ object นั้นๆ

     -  Parameters ที่ใช้ในการรับส่งค่าระหว่าง method

การสื่อสารระหว่าง object

          จากข้อมูลในส่วนที่ object เปิดเผย และอนุญาติให้ใช้ในการติดต่อผ่านกันระหว่าง object ดังนี้กล่าวไปข้างต้น   แล้ว ในการสื่อสารระหว่างกันของ object จำเป็นต้องมีส่วนที่เรียกว่า message  เป็นส่วนประกอบสำคัญร่วมด้วย เพื่อให้ทราบจุดประสงค์ในการติดต่อระหว่างกัน ที่สมมุติว่า object หนึ่งเป็น sender และอีก object หนึ่งเป็น receiver ดังนั้นเมื่อ secder ส่ง message ไปเพื่อร้องขอการทำงานบางอย่างreceiver ก็จะส่งผลเป็นค่า returmvalue กลับไปยัง sender                                                                                                                                                    

 กรณี นี้ object Payroll จะต้องทำการร้องขอ SocialSecurityNumber (หมายเลขบัตรประชาชน)ที่เป็นส่วน attribute ของ object Employee โดย object Payroll จะทำการส่ง message ไปยัง method GetSocialSecurityNumber เพื่อร้องขอข้อมูล SocialaecurityNumber เพื่อทำการคำนวณค่าเงินเดือนของพนักงาน                                                               

 จากหลักการสื่อสารระหว่างกันของ object 2 object สามารถแยกประเภทของการสื่อสารออกได้เป็น 2 กรณี

กรณีที่1   object  sender ร้องขอข้อมูลจาก object receiver และจำเป็นต้องรอการคืนค่ากลับ ตัวอย่างเช่น object School ต้องการถามรายชื่อของนักเรียน โดยส่ง message ไปยัง object Student และทางฝ่าย object Student ก็จะทำการส่งคืนค่า (return) รายชื่อกลับไปยัง School object

กรณีที่2   sender ต้องการค่าบางค่าไปเปลี่ยนแปลงข้อมูลที่ฝั่ง receiver ซึ่งในกรณีนี้ senderไม่จำเป็นต้องสนใจการคืนค่ากลับ เช่น object School ต้องการเปลี่ยนชื่อนักเรียน โดยส่งmessage ไปที่ object Student จะทำการเปลี่ยน attribute ที่เป็นชื่อ นักเรียนให้เป็นชื่อใหม่ ในกรณีนี้ object จะไม่สนใจว่าจะมีค่า return กลับมาหรือไม่

    มีคำกล่าวบางคำที่บอกว่า การสร้าง  objcet ขนาดเล็ก ไว้ใช้งานเฉพาะอย่าง ย่อมจะดีกว่าการสร้าง object ขนาดใหญ่ เพื่อใช้งานในหลาย ๆ  อย่าง นั่นก็คือ object ขนาดเล็กจะเป็น object ประเภทเป็นการทำงานเป็นส่วนย่อน ๆ  เฉพาะทาง เช่น TV  วิทยุ แต่ object ขนาดใหญ่ คือ object ที่รวมการทำงานหลาย ๆ อย่างไว้ในโครงสร้าง เช่น TV/VDO (รวมการทำงานของ TV และ VDO ไว้ในเครื่องเดียวกัน )stereo (รวมกรรทำงานของวิทยุ เล่นเทป เล่น VDO ภายในเครื่องเดียว)ซึ่งจะทำให้ data และ method ภายใน object นั้นมีความซับซ้อน และยุ่งยากในการทำงาน รวมทั้งลำ  บากในการแก้ไขปรับปรุงด้วย   

             

บทที่1  >>  บทที่2  >>  บทที่3  >>  บทที่4  >>  บทที่5  >>  บทที่6  >>  บทที่7  >>  TEST  >>  Main manu

    Page 1>>> Page 2 >>> Page 3 >>> Home                                                                                                                                   

 


                 Coppyright2004ByWebmaster All Right Reserved Comments                                                                  

   

                                      

 

Hosted by www.Geocities.ws

1