การเขียนโปรแกรมเชิงวัตถุ หรือ 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 ต่างๆ ผู้ใช้จะไม่สามารถดูได้

 

 

 

ถ้ามีข้อบกพร่องตรงไหนบอกได้นะ อันนี้เราลองอ่านแล้วมาสรุปดู

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

เขาไม่เคยมีความรู้ทางนี้เลยอ่ะ
เลยอ่านไป งงไปอ่ะ
ดีๆ เขียนบ่อยๆนะจ๊ะ

#1 By J.M.P---Moo-Moo on 2009-06-07 14:09

ว้าวๆ

confused smile

#2 By Oat :: Harazz on 2009-06-07 15:11

อาจารสอน concept oo เลยปะ วันที่เรียน oop

แล้วแลปถึงไหนวะ กุไม่ได้เรียนอะ ==

#3 By Ambas on 2009-06-07 18:14

lab OOP ยัง HelloWorld กันอยู่เลย แต่พูดไปถึงการประกาศตัวแปรแล้วอ่ะค่ะ
อาจารย์พูดถึง OOC นิดหน่อย แบบที่เอิร์ธเขียนในย่อหน้าแรก

ได้ความรู้ดี double wink thx~

#4 By momijizt on 2009-06-07 20:37

เขียนบ่อยๆนะ จะได้เข้ามาอ่าน confused smile

#5 By ไทกิ on 2009-06-07 22:32