Page 13 - เอกสารประกอบการสอนการโปรแกรมคอมพิวเตอร์
P. 13

2.2.2 การจัดข้อมูลที่ไม่เกี่ยวข้องทิ้งไปให้เหลือข้อมูลที่ต้องการเท่านั้น (Abstraction)  การ

             แทนวัตถุที่มีอยู่ในโลกความเป็นจริงลงในระบบคอมพิวเตอร์ ต้องพิจารณาถึงคุณสมบัติที่สาคัญของ
             วัตถุเท่านั้น เป็นไปไม่ได้ที่จะพิจารณาคุณสมบัติทุกข้อมาของวัตถุที่มีอยู่จริง ตัวอย่างเช่นการแทน

                                                     ์
             คุณสมบัติของมนุษย์ลงในระบบคอมพิวเตอร มนุษย์มีคุณสมบัติหลายอย่างเช่น เป็นสิ่งมีชีวิต กิน
             อาหารได้ ขับถ่ายได้ แต่หากมนุษย์ที่เป็นสมาชิกของร้านวิดีโอแห่งหนึ่ง ข้อมูลของมนุษย์ที่ว่ามนุษย์

             เป็นสิ่งมีชีวิต หรือ กินอาหารได้ เป็นข้อมูลที่ไม่เกี่ยวข้องกับสมาชิกของร้านวีดีโอนี้เลย ข้อมูลที่
             เกี่ยวข้องอาจเป็น หมายเลขสมาชิก ชื่อ นามสกุล อายุ รายการหนังที่ยืมไป ยอดค้างชาระเป็นต้น

             ดังนั้น Abstraction เป็นวิธีการมองวัตถุโดยพิจารณาว่า มีคุณสมบัติใดบ้างที่จะแทนวัตถุนั้นโดย
             พิจารณาคุณสมบัติที่เกี่ยวข้องกับวัตถุสาหรับในการแก้ปัญหาใดปัญหาหนึ่งเท่านั้น

                       2.2.3 การเข้ารวมเป็นส่วนหนึ่งของวัตถุ (Encapsulation) เป็น องค์ประกอบที่ส าคัญอีก
                                                                                    ็
             ประการหนึ่งของ OOP ซึ่งหมายถึงการน าการปฏิบัติการ (Operation) รวมเปนส่วนหนึ่งของวัตถุ
             เหตุที่เป็นเช่นนี้เพราะว่าต้องการซ่อนข้อมูลของวัตถุไว้ ผู้ใช้งานไม่จาเป็นต้องทราบถึงรายละเอียด

             ต่างๆของวัตถุนั้น เพียงทราบถึงวิธีการจะใช้วัตถุนั้นก็เพียงพอ ตัวอย่างเช่น การใช้งานเครื่องรับ
                                    ็
             โทรทัศน์ ผใช้งานไม่จาเปนต้องเข้าใจถึงวงจรไฟฟ้าภายในเครื่องรับโทรทัศน์ว่ามีการทางานอย่างไร
                       ู้

             แต่ต้องเข้าใจว่าจะเปิด ปิด หรือเปลี่ยนช่อง อย่างไรก็เพียงพอ ข้อดีคือทาให้ การปฏิบัติการของวัตถุ
             นั้นไม่สามารถนาไปใช้กับวัตถุอื่นได้ ทาให้มีความปลอดภัยเพิ่มมากขึ้น เช่น ผู้ใช้งานคงไม่อยากให้

             กุญแจควบคุมระยะไกลของรถยนต์ของผู้อื่นสามารถเปิดประตูรถยนต์ของผู้ใช้งานได้
                       2.2.4 การสร้างคลาสใหม่จากคลาสเดิม (Inheritance)ที่มีอยู่แล้ว และมีการถ่ายทอด

             คุณสมบัติของคลาสเดิมมา (คาดว่าคุณสมบัติรวมถึง Method คลาสเดิมมีด้วย) และในคลาสใหม่
             สามารถเพิ่มเติมคุณสมบัติที่ไม่มีในคลาสแม่ได้ด้วย จากตัวอย่างของคลาส Vehicle จะเห็นว่ารถทุก

             คันอยู่ในคลาสเดียวกัน รถยนต์แต่ละชนิดจะมีคุณสมบัติบางส่วนทเหมือนกันเช่น มีล้อทเป็นวงกลม
                                                                         ี่
                                                                                             ี่
                                                                                          ี
             การเคลื่อนที่ไปข้างหน้าและการหยุดรถ เป็นต้น แต่ในความเป็นจริงแล้วถ้าเปรียบเทยบรถชนิด
             Sport และ Truck จะเห็นความแตกต่างบางประการเช่น รถชนิด Sport สามารถเปิดปะทุน (Sun

             Roof) ได้ และรถชนิด Truck สามารถดัมพ์ของที่บรรทุกมาได้ เช่น ทราย ดิน ดังนั้น Inheritance
                                                             ี่
                                                                                   ้
             เปิดโอกาสให้ผู้เขียนโปรแกรมสามารถน าคุณสมบัติทมีอยู่จากคลาสเดิมมาสรางคลาสใหม่ได้ และยัง
             สามารถเพิ่มคุณสมบัติอื่นๆ ได้
                     2.2.5  การอนุญาตตั้งชื่อฟังก์ชันให้ซ้ ากันได้(Polymorphism) แบ่งออกเป็น 2 ประเภทคือ

             Overloading และ Overriding
                             1. Overloading เป็นการใช้ชื่อของ Method สามารถซ้ ากันได้ แต่ Argument ไม่

             สามารถซ้ ากันได้ โดยตัวแปลภาษาจะเลือกว่า Method ใดเหมาะสมที่สุดในการเรียกใช้งานเอง
                             2. Overriding เป็น Polymorphism อีกชนิดหนึ่งซึ่งเกี่ยวข้องกับการ Inheritance ใน

             กรณีที่คลาสแม่มี Method A ที่เหมือนกับคลาสลูก ถ้าเรียกใช้ Method A นี้จากคลาสลูก Method
             A ในคลาสลูกจะทางาน ในทางตรงข้ามกันถ้าเรียกใช้ Method A จากคลาสแม่ Method A ในคลาส

             แม่จะทางาน แนวคิดของ Overriding เหมือนวัตถุที่มีอยู่ในความเป็นจริง




               เอกสารประกอบการสอนวิชาการโปรแกรมคอมพิวเตอร์                           นาย นิรันดร์   ชุมสาย ณ อยุธยา
   8   9   10   11   12   13   14   15   16   17   18