คำศัพท์ Object- Oriented Programming


  คำศัพท์ Object- Oriented Programming
           โอโอพี OOP หรือออบเจ็กต์โอเรียนเท็ดโปรแกรมมิ่ง (Object Oriented Programming) เป็นแนวคิดในการเขียนโปรแกรมแบบหนึ่ง ที่ผู้รู้หลายๆ ท่านได้สรุปหรือได้ให้คำนิยามไว้ว่าเป็นการเขียนโปรแกรมเชิงวัตถุ บางท่านก็สรุปว่าเป็นการเขียนโปรแกรมแบบอ้างอิงวัตถุ ซึ่งก็เป็นการให้ความหมายที่ตรงมากเลยทีเดียว
                OOP เป็นวิธีการเขียนโปรแกรม โดยอาศัยแนวคิดของวัตถุชิ้นหนึ่ง มีความสามารถในการปกป้องข้อมูล และการสืบทอดคุณสมบัติ ซึ่งทำให้แนวโน้มของ OOP ได้รับการยอมรับและพัฒนามาใช้ในระบบต่างๆมากมาย เช่น ระบบปฏิบัติการ วินโดวส์ เป็นต้น
                ในบทนี้จะศึกษาถึงความเป็นมา และความหมายของแนวคิดการเขียนโปรแกรมเชิงวัตถุข้อควรรู้เกี่ยวกับหลักการเขียนโปรแกรมเชิงวัตถุ ตลอดจนความสำคัญของการเขียนและการออกแบบระบบงานก่อนเขียนโปรแกรม รวมถึงประโยชน์ของการเขียนโปรแกรมเชิงวัตถุซึ่งจะทำให้ผู้เรียนได้เข้าใจถึงหลักการเบื้องต้นของแนวความคิดเชิงวัตถุนี้ได้





    Abstraction  
Abstraction คือ กระบวนการการให้ความคิดรวบยอดกับวัตถุใด ๆ เพื่อสร้าง class ซึ่งแบ่งได้เป็น 4 กระบวนการ ดังต่อไปนี้
       1. Classification Abstraction เป็น กระบวนการที่ใช้แยกประเภทวัตถุต่าง ๆ ที่อยู่ในกรอบความคิด เพื่อให้ความคิดรวบยอดแก่วัตถุเหล่านั้น จนกระทั่งได้ Class พื้นฐานตามต้องการ
       2.Aggregation Abstraction คือ กระบวนการที่นำเอา Class พื้นฐาน มารวมกัน หรือ ประกอบกัน เพื่อให้เกิด class ที่ใหญ่ขึ้น (แต่ยังไม่หมด)
       3. Generalization Abstraction คือ กระบวนการในการนำ class ที่มีลักษณะเหมือนกันหรือคล้ายกันหรือมีสมบัติอย่างใดอย่างหนึ่งร่วมกัน มาจัดหมวดหมู่ เป็น class เดียวกัน ในทำนองกลับกัน ถ้ามี class 1 class แล้วจำแนกออก เป็นClass   ย่อย ๆ เราเรียกวิธีการนี้ว่า Specialization 
       4.Association Abstraction
    คือ กระบวนการในการสร้างความสัมพันธ์ ระหว่าง class ต่าง  ๆ ใน Problem domain ที่เราสนใจ โดยเป็นการอธิบายความสัมพันธ์ ของ class ในเชิงกิจกรรม



 


Encapsulation
       encapsulation คือการรวมของสิ่งหนึ่งภายในอีกสิ่ง ดังนั้นสิ่งที่รวมไม่ปรากฎ decapsulation คือขจัดหรือทำให้สิ่งของปรากฎเหมือนก่อนการทำ encapsulation
 
Modularity
                   Modularityเป็นการแยกสลายสิ่งที่สลับซับซ้อนให้เป็นส่วนประกอบที่สามารถจัดการได้
Modularity ช่วยให้คนสามารถทำความเข้าใจระบบที่สลับซับซ้อนได้



 Hierarchy
      1. โครงสร้างข้อมูลแบบลำดับชั้น (Hierarchy) จุดเด่น คือ เนื่องจากมีการแบ่งแยกกลุ่มอย่างชัดเจน อีกทั้งความสัมพันธ์ระหว่างชั้นข้อมูลก็เป็นสิ่งที่คนส่วนใหญ่คุ้นเคย จึงไม่ยากเกินจะเข้าใจ  เนื่องจากความแพร่หลายในการใช้โครงสร้างระบบข้อมูลแบบนี้ เมื่อเรานำมาใช้กับข้อมูลในเว็บไซต์ก็จะทำให้ผู้ใช้เข้าใจโครงสร้างของข้อมูลที่ซับซ้อนในเว็บได้ง่ายและรวดเร็ว ซึ่งถือเป็นโครงสร้างที่เหมาะสมกับข้อมูลบนเว็บมาก เพราะในทุกวัน ๆ เว็บจะเริ่มจากหน้าโฮมเพจก่อนเสมอ แล้วจึงแบ่งแยกออกเป็นส่วนย่อย ๆ และด้วยวิธีการจัดลำดับชั้นจากบนลงล่าง ทำให้สามารถกำหนดขอบเขตของเนื้อหาภายในเว็บไซต์ได้อย่างรวดเร็ว โดยเริ่มจากการกำหนดหัวข้อหลักของข้อมูล แล้วจึงเลือกใช้แบบแผนระบบข้อมูล (organizational scheme) ที่เหมาะสมกับข้อมูล
     2. โครงสร้างแบบไฮเปอร์เท็กซ์ (Hypertext) จุดเด่น คือ จากการที่ระบบไฮเปอร์เท็กซ์ได้เปิดช่องทางให้มีการเชื่อมโยงระหว่างรายการใด ๆ ในลำดับชั้นข้อมูลที่ต่างกัน จึงเหมาะที่จะนำระบบไฮเปอร์เท็กซ์มาใช้เป็นส่วนเสริมให้กับโครงสร้างข้อมูลแบบลำดับชั้นที่มีอยู่แล้ว      3. โครงสร้างแบบฐานข้อมูล (Database Model) จุดเด่น คือ เหมาะที่จะนำไปใช้กับเว็บขนาดใหญ่ที่มีผู้รับผิดชอบเรื่องระบบฐานข้อมูลโดยเฉพาะ ฐานข้อมูลเป็นการจัดระบบข้อมูลที่เป็นที่นิยมมากประเภทหนึ่ง โดยข้อมูลจะถูกจัดอยู่ในรูปแถวและคอลัมน์ด้วยกฎเกณฑ์บางอย่างที่มีการกำหนดไว้เฉพาะฐานข้อมูลนั้น ๆ การนำระบบฐานข้อมูลมาใช้ในเว็บไซต์จะช่วยเพิ่มความสามารถในการค้นหาข้อมูลได้อย่างถูกต้องและรวดเร็ว นอกจากนั้นการใช้ระบบฐานข้อมูลยังช่วยเพิ่มความสะดวกในการดูแลและปรับปรุงเนื้อหาอย่างมีประสิทธิภาพอีกด้วย
                                             
                                       
    Class       Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน ดังนั้น Object ที่มีคุณสมบัติลักษณะเดียวกันนี้ จะรวมกลุ่มอยู่ใน Class เดียวกัน จึงสามารถสรุปได้ว่า Class คือ ต้นแบบข้อมูล ที่มีไว้เพื่อสร้าง Object นั่นเอง Class นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้นแล้ว ยังมี Attribute และ Operation ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆด้วย
                                      
    Object    ก่อนที่เราจะเข้ามาดู ความหมายของ Object ให้เราลองมองดู สิ่งต่างๆที่อยู่ รอบๆ ตัวเรา อย่างเช่น สุนัข , คอมพิวเตอร์ , แม่ จะสังเกตุเห็นว่าทุกๆสิ่งจะประกอบไปด้วย 2 ส่วนคือ ส่วนของข้อมูล เช่น สุนัข จะมีข้อมูลของ ชื่อสุนัข (ไข่ตุ๋น) , เพศสุนัข (ผู้) หรือ พันธ์สุนัข (โกลเด็น) อีกตัวอย่างนึง เคลื่องคอมพิวเตอร์ จะมีข้อมูลของ ชนิดของเครื่อง (โน้ตบุค) , ยี่ห้อ (lenovo) , รุ่น (ThinkPad T400) ลองพิจารณาซิครับว่าของทุกๆชิ้น จะต้องมีข้อมูลส่วนพฤติกรรม เช่น สุนัข จะมีพฤติกรรม เห่าได้ , กินข้าวได้ , วิ่งได้ หรือแม้นแต่เครื่องคอมพิวเตอร์ ของเรา จะมีพฤติกรรม สามารถ เล่นเกมร์ได้ , วาดรูปได้ , เขียนโปรแกรมได้ ของทุกชิ้นต้องมี พฤติกรรม

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

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