วันเสาร์ที่ 6 มิถุนายน พ.ศ. 2552

OOP (Object-Oriented Programing) คือ อะไร?

OOP คืออะไร มีความสำคัญอย่างไร... มีประโยชน์ตรงใหนถึงต้องทำให้ VB ต้องเปลี่ยนเป็น OOP... และเราจะเขียนโปรแกรมแบบ OOP ได้อย่างไร....
OOP อาจเป็นสิ่งใหม่ที่เข้าใจได้ยากสำหรับผู้ที่ไม่เคยมีประสบการณ์ด้านการเขียนโปรแกรมแบบออบเจ็ค ทั้งนี้สิ่งที่สำคัญที่ทำให้เราเข้าใจหลักการเขียนโปรแกรมแบบออบเจ็ค เราจำเป็นต้องรู้ก่อนว่า ออบเจ็คคืออะไร?.....ปกติแล้วในชีวิตประจำวันเราทุกคนได้สัมผัส เคยรู้จักและเคยใช้งานออบเจ็คมาแล้ว เพียงแต่.. เราไม่เคยให้คำจำกัดความของคำว่า ออบเจ็ค (Object) ตัวอย่างเช่น คอมพิวเตอร์ รถยนต์ บ้าน โทรทัศน์ จักรยานยนต์ หรือทุกสิ่งทุกอย่างสัตว์สิ่งของต่างๆ ถือเป็นออบเจ็ค (Object) ทั้งหมด
เราจะเห็นได้ว่าทุกสิ่งทุกอย่างจะมีคุณสมบัติ (Property) เฉพะตัวของมัน เช่น ทีวี จะมีขนาดหน้าจอ ชนิดของจอ ยี่ห้อ รุ่น ระบบเสียง ส่วนรถนต์ก็จะมี ยี่ห้อ รุ่น แรงม้า จำนวนประตู ชนิดเกีนร์ เป็นต้น นอกจากนั้นสิ่งเหล่านี้ยังสามารถที่จะทำงานบางอย่างได้ (เมธอด method) ตามที่ผู้ผลิตออกแบบขึ้นมา เช่นเราสามารถเปลี่ยนเกียร์รถยนต์ เลี้ยวซ้าย เลี้ยวขวา หรือหยุดรถได้โดยที่เราไม่จำเป็นต้องรู้ว่ามันทำงานอย่างไร จะมีใครบ้างสนใจว่าเบรกรถยนต์ทำงานอย่างไร ใช้เฟืองตัวใหนทำงานประสารกันบ้าง ขอให้มันทำงานตามที่เราต้องการก็พอ งานที่ ต่างๆที่เกิดขึ้น มันคงไม่ได้เกิดขึ้นมาเอง นอกจากจะต้องมีเหตุการณ์ (Event) อย่างใดอย่างหนึ่งไปกระตุ้นให้มันทำงาน อยู่ดีๆ ทีวีจะเปลี่ยนช่องเองไม่ได้นอกจากราจะกดรีโมท หรือกดปุ่มบนเครื่อง หรืออยู่ดีๆรถยนต์คงไม่เบรกเองโดยคนขับไม่ได้เหยียบเบรก
ถ้ามองถึงบริษัทผู้ผลิตสิ่งเหล่านี้ออกมา บริษัทจะไม่สามารถผลิตทีวีหรือรถยนต์ รุ่นใดรุ่นหนึ่งออกมาโดยไม่มีการออกแบบที่ชัดเจน ในรูปของต้นแบบหือพิมพเขียว (คลาส Class) ให้เรียบร้อยเสียก่อนแล้วจึงผลิตสินค่ตามต้นแบบที่ออกแบบไว้ และสินค้ารุ่นเดียวกันจะต้องมุณสมบัติต่างๆ ที่เหมือนกั มีความสามารถในการทำงานเหมือนกัน
ถ้าสินค้าแต่ละรุ่นที่ออกมา บริษัทผู้ผลิตต้องออกแบบทุกองค์ประกบใหม่ทั้งหมดก็คงเป็นการยุ่งยากและเสียเวลาในการผลิตเป็นอย่างมาก ดังนั้นโดยปกติผู้ผลิตจะออกแบบต้นแบบหลักเอาไว้ และนำเอาต้นแบบดังกล่าวมาทำเป็นต้นแบบของผลิตภันฑ์ตัวใหม่ (Inheritance หมายถึงการสืบทอดคุณสมบัติจากต้นแบบเดิม) โดยทำการพัฒนาต่อยอกจากโครงสร้างต้นแบบเดิม เพื่อให้ได้ผลิตภัณฑ์รุ่นใหม่ และสร้างเป็นต้นแบบอีกที เช่นการผลิตทีวีจอแบบ ผู้ผลิตก็ยึดต้นแบบของทีวีจอธรรมดาและพัฒนารูปร้าง หน้าตา เพิ่มเติมคุณสมบัติใหม่ๆเข้าไป หรือแม้นแต่การผลิตรถยนต์รุ่นใหม่ๆ ผลิตคงไม่ได้เริ่มออบแบบใหม่ทั้งหมด แต่คงใช้วิธีดัดแปลงรูปร่างหน้าตา เพิ่มสมรรถนะและความสะดวกสบายเข้าไป ซึ่งเป็นการนำเอาสิ่งที่มีอยู่มาพัฒนาเพิ่มเติมโดยไม่ต้องเริ่มออกแบบใหม่ทั้งหมด
จากข้อความดังที่กล่าวมาได้แสดงถึงขอบเขตของออบเจ๊ค จะเห็นว่ามีคำศัพท์ใหม่ๆ เกิดขึ้นมามากมายเช่น คลาส ( Class) ออบเจ็ค (Object) พร้อพเพอร์ตี้ (Property) เมธอด (Method) อีเวนต์ (Event) เป็นต้น อย่างไรก็ตามท่านผู้อ่านไม่ต้องกังวลกับคำศัพท์ต่างๆ เหล่านี้ ผู้เขียนเพียงต้องการให้เรามองเห็นภาพรวมทั้งหมดเกี่ยวกับแนวคิดของ Object Oriented จึงยกตัวอย่างขึ้นมาประกอบความเข้าใจ
จะเห็นได้ว่าคำจำกัดความ ที่ง่ายที่สุดของ ออบเจ็ค (Object) ก็คือ อะไรก็ได้ ไม่ว่าจะเป็นคน สัตว์ สิ่งของ สถานที่ ฯลฯ โดยที่ ออบเจ็คจะมีส่วนประกอบที่สำคัญ 2 ประการคือ พร๊อพเพอร์ตี้ (Property) หรือคุณสมบัติเฉพาะตัว และ เมธอด (Method) หรือความสามารถในการทำงาน ดังตัวอยางเช่น ระบบปฏิบัติการ Windows ไมโครซอฟท์ได้นำเอาแนวคิดของ ออบเจ็ค มาประยุกต์ใช้ ทุกสิ่งทุกอย่างใน Windows จะถูกมองเป็น ออบเจ็คทั้งหมด ตั้งแต่ Desktop Icon และ Taskbar นั้นหมายถึงว่าทุกองค์ประกอบของ Windows จะถูกมองเป็บ ออบเจ็คซึ่งจะมีพร๊อพเพอร์ตี้ (Property) เฉพาะตัว และมี เมธอด (Method) เพื่อทำงานใดๆ

ที่มา: www.wara.com/modules.php?name=News&file=article&sid=225

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

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