[สาระ]แนวคิดการเขียนโปรแกรมเชิงวัตถุ (OOP)
posted on 07 Jun 2009 13:33 by dopplerzการเขียนโปรแกรมเชิงวัตถุ หรือ Object Orient Programming
เป็นการเขียนโปรแกรมแนวคิดใหม่ที่พัฒนาต่อมาจาก
การเขียนโปรแกรมแบบ Structure หรือ Procedural
โดย OOP จะมองการทำงานของโปรแกรมให้เหมือนโลกแห่งความจริง
มองให้เป็นวัตถุ มีลักษณะ รูปร่าง มีการกระทำ
โดยวัตถุนี้เรียกว่า Object หรือ Instance
โดยที่ Object จะถูกสร้างมาจาก class ต้นแบบ
class เปรียบเสมือนชนิดของสิ่งของ เช่น
เราบอกว่า มีคลาสหนึ่งชื่อว่า รถยนต์
เราให้ A เป็นรถยนต์
แสดงว่า A ก็จะมีลักษณะต่างๆเหมือนรถยนต์
มีสีอะไร มีกี่ล้อ มีตัวเครื่องเหมือนรถยนต์
และมีการกระทำเหมือนรถยนต์ คือ สามารถสตาร์ทเครื่อง วิ่ง เบรคได้
โดยการกระทำที่เป็นของ object นี้เรียกว่า method
ส่วน สี ตัวเครื่อง จำนวนล้อ ถือว่าเป็นลักษณะต่างๆ เรียกว่า attribute
คุณสมบัติต่างๆในการเขียนโปรแกรมเชิงวัตถุ
1. Inheritance คือ คุณสมบัติในการสืบทอด ยกตัวอย่างเช่น เรามีคลาสของรถยนต์
แต่ต่อมา เราสร้างคลาสใหม่ ชื่อว่า รถสปอร์ต ซึ่งสืบทอดมาจากคลาสรถยนต์อีกที
ทีนี้ คลาสรคสปอร์ตก็จะมี attribute และ method ทั่วๆไปเหมือนกับรถยนต์
แต่ว่า จะมีสิ่งพิเศษต่างๆเพิ่มเข้ามา เช่น มีความเร็วสูงสุดมากกว่า สามารถนั่งได้แค่สองที่ เป็นต้น
2. Polymorphism คือ การจำลองตัวเองหลายรูปแบบ ชื่อภาษาไทยฟังดูแล้วเข้าใจยาก
แต่อันที่จริงคือ การที่คลาสย่อยที่สืบทอดมา มี method ที่ชื่อเหมือนกับตัวต้นแบบ
เพียงแต่ว่า การทำงานใน method นั้นไม่เหมือนกัน เช่น
คลาสรถยนต์ สามารถวิ่งได้ คลาสรถสปอร์ตก็สามารถวิ่งได้
แต่ว่า การวิ่งของคลาสรถสปอร์ตเร็วกว่าคลาสรถยนต์ และมีความเร่งมากกว่า
3. Encapsulation คือ การทำให้การทำงานต่างๆภายใน object นั้นๆ เป็นความลับ
ทั้งนี้ เพื่อป้องกันการปรับเปลี่ยนแก้ไข ที่เป็นการละเมิดลิขสิทธิ์นั่นเอง
โดยชื่อตัวแปรต่างๆ และโค้ดในส่วนของ method ต่างๆ ผู้ใช้จะไม่สามารถดูได้
ถ้ามีข้อบกพร่องตรงไหนบอกได้นะ อันนี้เราลองอ่านแล้วมาสรุปดู
thx~
เลยอ่านไป งงไปอ่ะ
ดีๆ เขียนบ่อยๆนะจ๊ะ
#1 By J.M.P---Moo-Moo on 2009-06-07 14:09