การทำงานของโปรแกรมและคุณสมบัติเชิงวัตถ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 5 การดำรงชีวิตของพืช
Advertisements

การผลิตบ่อพัก ทำเอง ใช้เอง หจก. มภัสกาญ คอนสตรัคชั่น
อสมการเชิงเส้นตัวแปรเดียว
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
เรื่อง เทคโนโลยีบอรดแบนด์ไร้สาย
 เครือข่ายคอมพิวเตอร์  การที่ระบบเครือข่ายมีบทบาทและ ความสำคัญเพิ่มขึ้น เพราะไมโครคอมพิวเตอร์ได้รับ การใช้งานอย่างแพร่หลาย จึงเกิดความต้องการที่จะ.
Entity-Relationship Model E-R Model
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
การรักษาความปลอดภัยข้อมูลขั้นพื้นฐาน
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาการใช้โปรแกรมนำเสนอข้อมูล เรื่องการเชื่อมโยง ภาพนิ่ง ด้วยโปรแกรม Powerpoint2007 โดยใช้ สื่อคอมพิวเตอร์ช่วยสอน CAI ของนักเรียนระดับชั้น.
จัดทำโดย นางสาวพิจิตรา ปันเต เลขที่ 18 นางสาวปิยธิดา อุตมา เลขที่ 19 ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
การตรวจสอบคุณภาพเครื่องมือ
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 5 เครื่องมือสืบค้นข้อมูล (Search Engine)
อาจารย์อภิพงศ์ ปิงยศ บทที่ 4 : สื่อกลางส่งข้อมูลและการมัลติเพล็กซ์ (Transmission Media and Multiplexing) Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
โครงสร้างภาษา C Arduino
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
บทที่ 1 หน่วยผลิตและทางเลือกภายใต้โครงสร้างตลาด
กลุ่มคำและประโยค ภาษาไทย ม. ๓
ทฤษฎีการวางเงื่อนไข แบบการกระทำ (Operant Conditioning Theory)
Basic Input Output System
Presentation การจัดการข้อร้องเรียนในธุรกิจบริการ Customer Complaint Management for Service.
บทที่ 8 การควบคุมโครงการ
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
บัตรยิ้ม สร้างเสริมกำลังใจ
การประเมินผลการปฏิบัติงาน
หลักการ และ วิธีการ ของ บี.-พี.
Chapter 3 Executive Information Systems : EIS
พื้นฐานการวิจัยและสร้างสรรค์ทางศิลปกรรมศาสตร์
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
ระบบการจัดการคลินิกครบวงจร
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
Chapter 1 ความรู้เบื้องต้นในเทคโนโลยีอินเตอร์เน็ต Edit
พฤติกรรม (Behavior) สิ่งเร้า ภายนอก ภายใน
ฝึกวิเคราะห์ย่อหน้า 1 การศึกษาทำให้มีคุณภาพชีวิตที่ดี ทั้งยังช่วยพัฒนาทางด้านความคิด สติปัญญา และสังคม ทั้งนี้การศึกษายังมีความสำคัญต่อการเป็นอยู่ เพราะรากฐานของความมั่นคงมาจากการได้รับการศึกษา.
กลุ่มเกษตรกร.
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
โครงการจัดทำระบบฐานข้อมูล วัตถุเสพติดของกลาง (ระยะที่1)
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
คุณสมบัติเชิงวัตถุ Chapter 6 Edit
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
บทที่ 6 แนวคิดเทคโนโลยีเสมือนจริง
บริษัท พัฒนาวิชาการ (2535) จำกัด
SMS News Distribute Service
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
Multimedia และระบบความจริงเสมือน Virtual Reality, VR
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
มะเร็งปากมดลูก โดย นางจุฑารัตน์ กองธรรม พยาบาลวิชาชีพ รพ.สต.บ้านโนนแต้
การวิจัยทางการท่องเที่ยว
Chapter 7 การพยากรณ์ (Forecasting) Asst.Prof. Juthawut Chantharamalee
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
หน่วยการเรียนรู้ที่ 2 การกำหนดประเด็นปัญหา
ตัวแบบมาร์คอฟ (Markov Model)
Computer Game Programming
อ.ชิดชม กันจุฬา (ผู้สอน)
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Class Diagram.
การใช้ระบบสารสนเทศในการวิเคราะห์ข่าว
ใบสำเนางานนำเสนอ:

การทำงานของโปรแกรมและคุณสมบัติเชิงวัตถ Chapter 4 Edit 10-2016 Asst. Prof. Juthawut Chantharamalee Computer Science @ Suan Dusit University ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts

ภาษาโปรแกรมเชิงวัตถุ ในปี 1967 ภาษา Simula67 ถูกพัฒนาที่นอร์เวย์ เพื่อช่วยในการเขียนโปรแกรมสำหรับจำลอง (Simulation) โดยทั่วไประบบที่ซับซ้อนจะประกอบด้วยวัตถุจำนวนมากที่ทำงานเกี่ยวข้องกัน โดยการสร้างโปรแกรมที่จำลองการทำงานของแต่ละวัตถุไปที่ละขั้นจนกว่าจะได้คำตอบ ซึ่งแนวคิดนี้เรียกว่า การโปรแกรมเชิงวัตถุ 1990s มีภาษาเก่าถูกเพิ่มเติมในส่วนของการโปรแกรมเชิงวัตถุ แต่โดยพื้นฐานของภาษาจึงทำให้กลไกไม่เป็นเชิงวัตถุอย่างสมบูรณ์

โปรแกรมเชิงวัตถุ (Object Oriented Programming) การเขียนโปรแกรมคอมพิวเตอร์มี 2 แบบ การเขียนโปรแกรมแบบโครงสร้าง การเขียนโปรแกรมเชิงวัตถุ

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

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

โปรแกรมเชิงวัตถุ (Object Oriented Programming) การเขียนโปรแกรมเชิงวัตถุต้องใช้เวลาในการศึกษานานพอสมควร โดยเฉพาะอย่างยิ่งนักเขียนโปรแกรมต้องมีความชำนาญในการสร้างวัตถุสมมติที่ทำงานตามอย่างที่เราต้องการได้ โปรแกรมประยุกต์ที่ใช้งานจริงในปัจจุบันล้วนแล้วแต่เขียนด้วยโปรแกรมเชิงวัตถุทั้งสิ้น การศึกษาการเขียนโปรแกรมเชิงวัตถุจึงเป็นสิ่งที่นักเขียนโปรแกรมรุ่นใหม่ทุกคนควรจะฝึกฝนไว้

โปรแกรมเชิงวัตถุ (Object Oriented Programming) ข้อดี : มีความกะทัดรัด ข้อเสีย : ต้องใช้เวลาศึกษานาน โดยเฉพาะอย่างยิ่งคนที่ไม่ใช่นักเขียนโปรแกรมมืออาชีพ เพราะการเขียนโปรแกรมเชิงวัตถุ ไม่ใช่เรื่องที่จะเรียนรู้ได้ในเวลาอันรวดเร็ว

เปรียบเทียบขั้นตอนการเขียนโปรแกรมแบบโครงสร้างและการเขียนโปรแกรมเชิงวัตถุ

แนวความคิดภาษาเชิงวัตถุ การเน้นที่ปัญหาและองค์ประกอบของปัญหาเพื่อการแก้ปัญหานั้น เรียกว่า Problem space เหมือนการจำลองความเป็นจริงในชีวิตความเป็นอยู่ของมนุษย์ที่จะประกอบด้วย คน สัตว์ สิ่งของ และใช้สิ่งต่างๆ เพื่อแก้ปัญหา คือ แต่ละสิ่ง มีหน้าที่ในการแก้ปัญหา

Problem Space หญ้าในสนามรก คนตัดหญ้า >> ตัดหญ้า ใช้เครื่องตัดหญ้า เครื่องตัดหญ้า >> ตัดหญ้า ทำให้หญ้าที่สูงถูกตัด

ตัวอย่างปัญหากับการมองปัญหาแบบเก่า ปัญหาการหาพื้นที่รูปสี่เหลี่ยมผืนผ้าใดๆ สามารถหาพื้นที่สี่เหลี่ยมผืนผ้าโดยใช้สูตร พื้นที่สี่เหลี่ยม = กว้าง x ยาว ดังนั้น ต้องทราบ ความกว้าง และ ความยาว ของสี่เหลี่ยมเสียก่อน ขั้นตอนการหาพื้นที่รูปสี่เหลี่ยมผืนผ้า

ตัวอย่างปัญหากับการมองปัญหาแบบใหม่ ในระบบนี้จะต้องประกอบด้วยวัตถุที่จำเป็นใดบ้าง - หาวัตถุที่เกี่ยวข้อง เช่น สี่เหลี่ยม ความกว้าง ความยาวและพื้นที่ - ตัดวัตถุที่มีลักษณะเหมือนกันออก - วิเคราะห์ลักษณะของแต่ละวัตถุ เช่น สี่เหลี่ยมควรมีส่วนประกอบเป็นตำแหน่ง ความกว้าง ความยาว และพื้นที่ เป็นต้น ดังนั้นเราสามารถรวม พื้นที่ ความกว้างและความยาว เป็นของสี่เหลี่ยม - วิเคราะห์พฤติกรรมของแต่ละวัตถุ ตอนนี้มีวัตถุเดียวสี่เหลี่ยมอาจจะต้อง คำนวณเส้นรอบรูป คำนวณพื้นที่ วาดตัวเอง เป็นต้น

ตัวอย่างปัญหากับการมองปัญหาแบบใหม่ วัตถุสี่เหลี่ยมผืนผ้า ความยาว ความกว้าง พื้นที่

ตัวอย่างปัญหากับการมองปัญหาแบบใหม่ พฤติกรรม คำนวณความยาวเส้นรอบรูป คำนวณพื้นที่ วาดตัวเอง ตอนนี้ทราบว่าจะมีวัตถุใดอยู่ในระบบบ้าง ขั้นตอนต่อมา คือ ต้องหาความสัมพันธ์ของแต่ละวัตถุ แต่ในที่นี้มีวัตถุเดียวจึงไม่ต้องทำ

แนวคิดของเอลัน เคย์ (Alan Kay) เป็นผู้หนึ่งที่พัฒนาภาษา small Talk ซึ่งเป็นต้นแบบของการเขียนโปรแกรมเชิงวัตถุ ได้ให้นิยามของภาษาเชิงวัตถุไว้ดังนี้ ทุกๆ สิ่งเป็นวัตถุ โปรแกรม คือ กลุ่มของวัตถุที่ส่งสารบอกกันเพื่อทำงาน วัตถุแต่ละวัตถุมีหน่วยความจำ วัตถุต้องมีชนิด วัตถุที่จัดอยู่ในประเภทเดียวกันย่อมได้รับข่าวสารเหมือนกัน

ทุกๆ สิ่งเป็นวัตถุ องค์ประกอบของโปรแกรมคอมพิวเตอร์ทุกๆ ส่วนจะต้องเป็นวัตถุ ซึ่งกฎข้อนี้เองที่ทำให้ล่ามแปลภาษาส่วนมากรวมทั้งภาษาจาวา (JAVA) ด้วย ไม่เป็นภาษาเชิงวัตถุแบบบริสุทธิ์ เพราะในล่ามแปลภาษา (JAVA) ยังมีบางส่วนที่ไม่เป็นวัตถุ เช่น การกำหนดตัวแปร เป็นต้น

โปรแกรมคือกลุ่มของวัตถุ โปรแกรมในความหมายของการเขียนโปรแกรมเชิงวัตถุ คือ กลุ่มของวัตถุที่ส่งข้อความข่าวสาร(Message) ถึงกันและกันเพื่อบอกให้วัตถุทำงาน

วัตถุมีหน่วยความจำ วัตถุในความหมายของการเขียนโปรแกรมเชิงวัตถุ จะต้องมีหน่วยความจำของตัวเอง คือ ส่วนที่เก็บข้อมูลส่วนของวัตถุนั้นๆ เองซึ่งเรียกว่า attribute ส่วนของข้อมูลนี้อาจจะประกอบขึ้นจากวัตถุอื่นๆ ได้ เป็นที่มาของการเกิดคุณสมบัติการถ่ายทอดและคุณสมบัติขององค์ประกอบคอมโพสิต

วัตถุมีหน่วยความจำ

หน่วยความจำคอมพิวเตอร์ CPU RAM ROM DISK

วัตถุจะต้องจัดอยู่ในกลุ่มหรือชนิด ชนิดของวัตถุ คือ คลาส (Class) ในการเขียนโปรแกรมเชิงวัตถุจะต้องเขียนคลาสขึ้นมาก่อนเสมอ แล้วจึงจะสร้างวัตถุจากคลาส ดังนั้นวัตถุจึงจะต้องอยู่ในคลาสใดคลาสหนึ่ง

วัตถุจะต้องจัดอยู่ในกลุ่มหรือชนิด ดังนั้น คลาส เปรียบเหมือน แม่พิมพ์ ส่วนวัตถุ คือ สิ่งที่เกิดจากแม่พิมพ์ วัตถุที่เกิดจากคลาสเดียวกันจึงมีคุณสมบัติพื้นฐานเหมือนกัน เขียน เขียน เขียน

ตัวอย่างชนิดของวัตถุและวัตถุ Siemens MobilePhone String bandname Button button Screen screen Antenna antenna Simm simNet call() receive() hangup() sendSMS() Ericsson Nokia

วัตถุชนิดเดียวกันย่อมได้ข่าวสารเหมือนกัน วัตถุที่อยู่ในประเภทเดียวกันย่อมได้ข่าวสารเหมือนกัน คุณสมบัติข้อนี้ทำให้การเขียนโปรแกรมเชิงวัตถุมีประสิทธิภาพเพิ่มขึ้นเพราะชนิดของวัตถุมิได้กำหนดหรืออยู่อย่างโดดๆ แต่สามารถจัดเป็นกลุ่ม ผู้เขียนคำสั่งสามารถกำหนดชนิดย่อย ๆ ของวัตถุได้อีก เช่น คลาส คือ shape สามารถแตกออกเป็นชนิดที่จำเพาะลงไปเป็น Circle, Triangle, Rectangle เป็นต้น ดังนั้น เมื่อวัตถุในคลาส Circle สามารถได้รับข่าวสารเหมือนกับ Triangle และ Rectangle

วัตถุชนิดเดียวกันย่อมได้ข่าวสารเหมือนกัน

คุณสมบัติของภาษาการโปรแกรมเชิงวัตถุ คุณสมบัติของภาษาที่เป็นการโปรแกรมเชิงวัตถุควรมีคุณสมบัติพื้นฐานดังต่อไปนี้ Encapsulation (การห่อหุ้มวัตถุ) Data Hiding (การซ่อนรายละเอียด) Inheritance (การสืบทอด) Polymorphism (การพ้องรูป)

Encapsulation (การห่อหุ้มวัตถุ) คือ การรวมคุณลักษณะของวัตถุและพฤติกรรมของวัตถุเข้าไว้ด้วยกัน โดยกำหนดให้เป็นลักษณะชนิดของวัตถุนั้นๆ

Data Hiding (การซ่อนรายละเอียด) คือ การกำหนดระดับในการเข้าถึงข้อมูล เพื่อป้องกันการเข้ามาใช้ข้อมูลของวัตถุโดยสิ่งอื่นที่ไม่เกี่ยวข้องแล้วทำให้เกิดการผิดเพี้ยนของการทำงานทั้งระบบ ดังนั้นข้อมูลบางอย่างไม่ยินยอมให้วัตถุอื่นใดมาใช้งานได้ จำเป็นต้องซ่อนรายละเอียดตรงจุดนี้เอาไว้ เพื่อให้เกิดความปลอดภัยของวัตถุและระบบโดยรวมให้มากที่สุด

Data Hiding (การซ่อนรายละเอียด) ตัวอย่างเช่น จะเห็นว่า หมายเลขเครื่อง และปุ่มกดไม่ควรเปลี่ยนแปลง ดังนั้นข้อมูลนี้จึงควรซ่อนไว้ แต่หน้ากากอาจเปลี่ยนได้ เป็นต้น

Inheritance (การสืบทอด) เป็นการขยายลักษณะพิเศษหรือความสามารถของชนิดวัตถุใหม่จากชนิดวัตถุพื้นฐานให้มีลักษณะของเดิมและเพิ่มเติมสิ่งใหม่ๆ เข้าไปด้วย

Composition คุณสมบัติของ Inheritance ทำให้การโปรแกรมเชิงวัตถุมีข้อดี คือ สามารถสร้างงานต่างๆ ได้เร็วเพราะสามารถนำของเก่ามาใช้งานใหม่ได้ เรียกว่า “Reused” แต่ก็ยังมีลักษณะอีกอย่างที่ช่วยให้เกิด “Reused” ได้เช่นกัน คือ Composition คือ การสร้างวัตถุใดๆ ด้วยการประกอบจากวัตถุอื่น

Composition ตัวอย่างเช่น นาฬิกา ประกอบด้วย แกนนับ เฟือง เข็มสั้น เข็มยาว หน้าปัด เป็นต้น

Polymorphism (การพ้องรูป) เป็นคุณสมบัติที่ชนิดของวัตถุที่เกิดจากชนิดของวัตถุแม่เดียวกันสามารถมีความสามารถเหมือนแม่แต่ผลลัพธ์การดำเนินงานไม่เหมือน คือ มีลักษณะเฉพาะตัว ตัวอย่างเช่น

มารู้จักคลาสและวัตถุกัน คลาสเป็นเหมือนส่วนของแม่พิมพ์ เพื่อบอกลักษณะว่าวัตถุในคลาสนี้มีลักษณะและพฤติกรรมเป็นอย่างไร วัตถุเป็นสิ่งที่ถูกสร้างขึ้นมาจากคลาสเพื่อใช้งาน กำหนดค่าต่างๆ ส่งข้อความสั่งให้วัตถุทำงาน

มารู้จักคลาสและวัตถุกัน

การสร้างคลาส คลาสเปรียบเสมือนแม่พิมพ์ วัตถุเป็นผลิตผลที่เกิดจากแม่พิมพ์ ดังนั้นการที่จะสร้างวัตถุได้จึงจำเป็นต้องอาศัยแม่พิมพ์หรือคลาสนี้ โดยคลาสจะบ่งบอกถึงข้อมูลที่วัตถุที่อยู่ในคลาสนี้ควรจะมี และพฤติกรรมที่วัตถุในคลาสนี้สามารถทำได้

การสร้างคลาส วัตถุ (Object) แบ่งได้เป็น 2 ประเภท คือ สิ่งที่เป็นรูปธรรม (Tangible) คือ สิ่งที่เป็นวัตถุและจับต้องได้ เช่น นักศึกษา ใบลงทะเบียน ปากกา และรถ เป็นต้น สิ่งที่เป็นนามธรรม (Intangible) คือสิ่งที่ไม่สามารถจับต้องได้ เช่น คะแนนรายชื่อ วิชา บัญชีเงินฝาก และตารางเที่ยวบิน เป็นต้น วัตถุประกอบไปด้วย คุณลักษณะ (Attribute) หรือข้อมูล (Data) เมธอด (Method) หรือพฤติกรรม (Behavior)

ตัวอย่างวัตถุ นักศึกษา คุณลักษณะ เช่น รหัส ชื่อ และเกรดเฉลี่ย เมธอด เช่น ลงทะเบียน สอบ และเดิน

ตัวอย่างวัตถุ รถยนต์ คุณลักษณะ เช่น ยี่ห้อ รุ่น และสี เมธอด เช่น เคลื่อนที่ หยุดและเลี้ยว

ตัวอย่างวัตถุ สุนัข คุณลักษณะ เช่น ชื่อ พันธุ์ และสี เมธอด เช่น เห่า คลาน และกระดิกหาง

เปรียบเทียบคลาสกับวัตถุ Class Object

เปรียบเทียบคลาสกับวัตถุ

เปรียบเทียบคลาสกับวัตถุ

แนวคิดอัตประโยชน์จากการโปรแกรมเชิงวัตถุ การซ่อนรายละเอียด การเชื่อมต่อ การนำวัตถุมาใช้ใหม่ การพ้องรูป: หนึ่งรูปหลายพฤติกรรม

การซ่อนรายละเอียด (Information Hiding) มีผู้สังเกตเห็นว่าในชีวิตประจำวันนั้น ไม่จำเป็นต้องทราบหรือรู้ทุกเรื่องก็สามารถใช้งานสิ่งของนั้นๆ ได้ เช่น โทรทัศน์ที่มีอยู่ตามบ้าน ไม่ต้องทราบการทำงานของ อุปกรณ์ภายใน แต่ก็ สามารถเปิดเครื่องและ ดูรายการโปรดได้ เพียงรู้วิธีการกดปุ่มต่างๆ

การเชื่อมต่อ (Interface) โดยปกติการเชื่อมต่อระหว่างผู้ใช้กับคอมพิวเตอร์ เรียกว่า User interface แต่คำว่าอินเตอร์เฟสสำหรับวัตถุคือ ส่วนที่บอกว่าวัตถุนั้นให้บริการหรือสามารถทำอะไรได้บ้าง

การนำวัตถุมาใช้ใหม่ (Reusable) จุดประสงค์ใหญ่ของการเขียนโปรแกรมเชิงวัตถุ คือ การนำส่วนต่างๆ ของวัตถุที่สร้างขึ้นกลับมาใช้ใหม่หรือที่เรียกในภาษาอังกฤษว่า “Reuse” เมื่อมีวัตถุถูกสร้างขึ้นมาก็สามารถนำวัตถุต่างๆ มาประกอบกันเป็นวัตถุอีกชนิดหนึ่งได้ เพื่อให้วัตถุใหม่มีความสามารถมากกว่าเดิม ตัวอย่างเช่น กรณีของรถยนต์สามารถประกอบขึ้นจาก เครื่องยนต์ ตัวถัง ประตู และล้อ เป็นต้น

ตัวอย่างวัตถุที่เกิดจากวิธีคอมโพสิต

การพ้องรูป (Polymorphism) การพ้องรูป คือ คุณสมบัติการถ่ายทอด คุณสมบัติการถ่ายทอดยืนยันได้ว่าคลาสลูกที่เกิดจากคลาสแม่เดียวกันย่อมมีคุณสมบัติเหมือนกัน เป็นที่มาของหนึ่งรูปหลายพฤติกรรม

การถ่ายทอดให้เกิดลักษณะของพ้องรูป

การถ่ายทอดให้เกิดลักษณะของพ้องรูป

The End Chapter 4

Work-4 (งานชิ้นที่ 4) ให้นักศึกษาทำแบบฝึกหัดบทที่ 4 (ลงในสมุดเท่านั้น) ตอนที่ 1 (ให้ลอกโจทย์ด้วย) ตอนที่ 2 การจับคู่ (ให้ลอกโจทย์ด้วย) หมายเหตุ ให้ขีดเส้นใต้คำตอบด้วยปากกาสีแดงเท่านั้น เมื่อทำจบในแต่ละข้อย่อยให้ขีดเส้นใต้คำตอบด้วยปากกาสีแดงด้วย