สถิติจำนวนผู้เยี่ยมชม

วันนี้ วันนี้ 134
เมื่อวานนี้ เมื่อวานนี้ 358
อาทิตย์นี้ อาทิตย์นี้ 922
อาทิตย์ที่แล้ว อาทิตย์ที่แล้ว 1,430
เดือนนี้ เดือนนี้ 3,400
เดือนที่แล้ว เดือนที่แล้ว 2,737
ทั้งหมด ทั้งหมด 52,502
 

การเขียนโปรแกรมเชิงวัตถุ

หมวดหมู่ : บทความ/สาระน่ารู้, ลงข่าวเมื่อ : วันที่ 11 เดือน ธันวาคม พ.ศ. 2559, จำนวนคนดู : 467

ลดขนาดตัวอักษรเพิ่มขนาดตัวอักษร  สั่งพิมพ์ข่าวนี้
เมื่อฮาร์ดแวร์มีความเร็วสูงขึ้นและมีราคาถูกลง จึงมีการใช้ GUI (Graphics User Interface) กันอย่างแพร่หลาย หลักการของ GUI ก็คือ เทคนิคแบบ Object Oriented นั่นเอง ในระบบปฏิบัติการ Windows ที่เราใช้กันทั่วไปจะมี User Interface แบบ Object Oriented ให้เลือกใช้ หลายท่านก็ได้ใช้เทคนิคแบบ Object Oriented อยู่โดยไม่รู้ตัว ปัจจุบันผู้ใช้เทคนิคแบบ Object Oriented ไม่ได้จำกัดอยู่ในกลุ่มผู้เชี่ยวชาญด้านเทคนิคเท่านั้น จากความนิยมและความง่ายของการเขียนโปรแกรม C++, Java ทำให้มือใหม่ก็สามารถพัฒนาซอฟต์แวร์โดยใช้เทคนิคแบบ Object Oriented ได้
 
การโปรแกรมเชิงวัตถุ (Object Oriented Programming)
เมื่อโปรแกรมมีความซับซ้อนมากขึ้นนักพัฒนาก็จำเป็นต้องหาวิธีการจัดการโครงสร้างของโปรแกรมเพื่อให้มีประสิทธิภาพและสามารถจัดการบำรุงรักษาได้โดยง่าย จึงเป็นที่มาของการใช้โปรแกรมเชิงวัตถุที่อาศัยแนวคิดในการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) ซึ่งการโปรแกรมด้วยภาษาต่างๆ ในอดีตจะอาศัยลำดับการทำงานของชุดคำสั่งต่างๆ มาประกอบเป็นโปรแกรม ในขณะที่ภาษาเชิงวัตถุนอกจากจะรวบรวมคุณสมบัติที่ดีของการโปรแกรมเชิงกระบวนการไว้ ยังเพิ่มความสามารถในการจัดการกับอัลกอริทึมและโครงสร้างข้อมูลขึ้นใหม่ โดยเน้นไปที่การรวบรวมการทำงานและข้อมูลไว้ในหน่วยเดียวกัน ในรูปของออปเจค ขณะที่การโปรแกรมเชิงกระบวนการจะแยกทั้งสองส่วนนี้ออกจากกันอย่างชัดเจน
 
แนวคิดเชิงวัตถุ (Object Oriented Concept)
ถ้าดูพจนานุกรม Object หรือวัตถุ หมายถึง “สิ่งที่จับต้องได้ สิ่งที่สัมผัสได้ หรือสิ่งที่รู้สึกได้” ในชีวิตประจำวันของเรา วัตถุมีมากมาย เช่น หนังสือ สมุด ปากกา ฯลฯ
ส่วนวิธีการแบบ Object Oriented นั้นเป็นการแปลงความต้องการของระบบให้เป็นรายการของวัตถุหรือออปเจค
 
บูช (Grady Booch)  ได้ให้นิยามของออปเจคไว้ดังนี้ “ออปเจคจะประกอบไปด้วยคุณสมบัติ 3 ประการคือ สถานะ (state), พฤติกรรมการทำงาน (Behavior) และรูปพรรณ (Identify) โครงสร้างและการกระทำของออปเจคที่คล้ายกันจะถูกกำหนดขึ้นจากคลาสเดียวกัน”
 
ความหมายของ Object ตามนิยามที่กําหนดไว้จาก Java คือ "ซอฟต์แวร์ที่ประกอบไปด้วย      ตัวแปรและ method" และ object จะมีสถานะอยู่สองสถานะ คือ 1). สถานะภาพ หรือ คุณลักษณะ (State) และ 2). กระบวนการ หรือ การกระทํา (Behavior) ตัวอย่างเช่น รถยนต์ มี คุณลักษณะ คือ ยี่ห้อ รุ่น สี  และมี กระบวนการ คือ เดินหน้า ถอยหลัง เลี้ยวได้ เป็นต้น
 
Object ที่เกิดมาจาก class นั้นเราเรียกกันว่า instance ของ class และ object นี้จะมีส่วนประกอบที่class มีให้คือ ตัวแปรต่าง ๆ ที่อยู่ใน class ตัวแปรเหล่านี้จะมีข้อแตกต่างกัน คือ อาจเป็นตัวแปรที่เป็น class variable และอาจเป็นตัวแปรที่เป็น instance variable
 
คลาส (Class) เป็นกลุ่มของออปเจคที่ใช้สถานะและพฤติกรรมการทำงานร่วมกัน คลาสนำเสนอสิ่งที่เป็นนามธรรม ในขณะที่ออปเจคใช้สำหรับการนำเสนอสิ่งที่เป็นรูปธรรม ในมุมมองของการโปรแกรมคลาสจะมีลักษณะเช่นเดียวกับชนิดของข้อมูล (Data Types) ที่ถูกกำหนดไว้ในโปรแกรม ส่วนออปเจคจะเป็นเสมือนตัวแปร (Variables) ที่ใช้นั่นเอง
 
วิธีการพัฒนาเชิงวัตถุ (Object Oriented Approach)
การใช้โปรแกรมเชิงวัตถุเป็นการอาศัยแนวคิดของคลาสมาใช้เป็นส่วนประกอบหลักในการพัฒนาระบบ และเป็นจุดเริ่มต้นของวิธีการพัฒนาระบบแนวใหม่ ที่เรียกว่า การวิเคราะห์และออกแบบเชิงวัตถุ (Object Oriented Analysis and Design) ซึ่งมีแนวโน้มที่จะได้รับความนิยมมากขึ้นเรื่อยๆ ในปัจจุบัน วิธีการเชิงวัตถุเป็นการนำเสนอแบบจำลองที่แตกต่างไปจากการพัฒนาแบบวิธีการแบบโครงสร้าง ซึ่งอาศัยการทำงานของ Function และProcedure เป็นหลัก โดยวิธีการเชิงวัตถุจะเน้นไปที่ออปเจคภายในระบบและความสัมพันธ์ที่เกิดขึ้นระหว่างกัน แนวคิดของออปเจคเป็นการรวมการทำงานและข้อมูลไว้ในหน่วยเดียวกัน ในขณะที่วิธีการเชิงโครงสร้างจะแยกทั้งสองส่วนนี้ออกจากกันอย่างชัดเจน ดังนั้นภายในโปรแกรมแทนที่จะทำการเขียนโค้ดจำนวนมากเพื่อรองรับการทำงานทุกๆ อย่างภายในระบบ จะอาศัยการทำงานของออปเจคต่างๆ ร่วมกันแทน นั่นคือทุกสิ่งทุกอย่างภายในระบบจะถูกมองในรูปแบบของออปเจคที่มีความสัมพันธ์กัน แต่ละออปเจคสามารถติดต่อกันได้โดยอาศัยกลไกในการรับและส่งแมสเสจระหว่างกันนั่นเอง

บทความ/สาระน่ารู้อื่น ๆ