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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
Advertisements

การพัฒนาระบบทะเบียน ของ โรงเรียนเมโทรเทคโนโลยี จังหวัดเชียงใหม่
 เครือข่ายคอมพิวเตอร์  การที่ระบบเครือข่ายมีบทบาทและ ความสำคัญเพิ่มขึ้น เพราะไมโครคอมพิวเตอร์ได้รับ การใช้งานอย่างแพร่หลาย จึงเกิดความต้องการที่จะ.
จัดทำโดย น. ส. ดวงกมล งามอยู่เจริญ เลขที่ 8 น. ส. ณัชชา เชื้อตา เลขที่ 6 เตรียมบริหารธุรกิจปี 1.
การใช้งานโปรแกรม SPSS
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หน่วยที่ 5 การเวียนเกิด
ประเภทโครงงาน พัฒนาระบบ (System Development)
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
เรื่อง กระบวนการเทคโนโลยีสารสนเทศ
การตรวจสอบคุณภาพเครื่องมือ
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 5 อินพุตและเอาต์พุต
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
แนวข้อสอบ Final (จดด่วน)
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 3 การวิเคราะห์ Analysis.
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างภาษา C Arduino
บทที่ 1 โครงสร้างคอมพิวเตอร์พื้นฐาน
Basic Input Output System
บทที่ 8 การควบคุมโครงการ
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
กรอบอัตรากำลังของบุคลากรทางการศึกษาอื่นตามมาตรา 38 ค. (2)
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
คุณสมบัติเชิงวัตถุ Chapter 6 Edit
Data storage II Introduction to Computer Science ( )
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
Method and Encapsulation
บริษัท พัฒนาวิชาการ (2535) จำกัด
การเขียนภาษาจาวาเบื้องต้น
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
รายวิชา การบริหารการศึกษา
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
บทที่ 7 การประมวลผลอาร์เรย์
ทรัพยากรไทย:ก้าวสู่โลกกว้างอย่างมั่นใจ
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
การอนุรักษ์และสงวนรักษาทรัพยากรสารสนเทศ
ตัวแบบมาร์คอฟ (Markov Model)
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
Computer Game Programming
Chapter 3 : Array.
กรมมีผลการปฏิบัติงานที่ดี เกษตรกรได้รับประโยชน์
สถานการณ์เด็กไทยในปัจจุบัน
รายงานการประเมินตนเองของสถานศึกษา Self – Assessment Report
Array: One Dimension Programming I 9.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Decision: Single and Double Selection (if and if-else statement)
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

บทที่ 8 การเขียนโปรแกรมเชิงวัตถุ CHAPTER 8 Object Oriented Programming BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming เนื้อหา บทนำเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ ความหมายของวัตถุ (Object) คุณสมบัติของวัตถุ (Characteristics of Object) การหุ้มห่อ (Encapsulation/Protection) การสื่อสารระหว่างวัตถุ (Message Passing) ความหมายของคลาส (Class) ความแตกต่างระหว่างคลาส (Class)และวัตถุ (Object) การสืบทอดองค์ประกอบของวัตถุ (Inheritance) ลำดับชั้นของวัตถุ (Heirarchy) BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming วัตถุประสงค์ เพื่อศึกษาแนวความคิดในการเขียนโปรแกรมเชิงวัตถุ เพื่อศึกษาความหมายและองค์ประกอบของวัตถุ เพื่อศึกษาความหมายของคลาส เพื่อศึกษาแนวคิดการออกแบบโปรแกรมเชิงวัตถุ เพื่อศึกษาคุณลักษณะของวัตถุ BC320:Introduction to Computer Programming

8.1 แนวคิดในการเขียนโปรแกรมเชิงวัตถุ แนวความคิดในการเขียนโปรแกรมมี 2 แนวคิด แนวความคิดการเขียนโปรแกรมแบบโครงสร้าง (Structured Programming) แนวความคิดเชิงวัตถุ (Object Oriented Programming) BC320:Introduction to Computer Programming

8.1 แนวคิดในการเขียนโปรแกรมเชิงวัตถุ (ต่อ) แนวคิดการเขียนโปรแกรมแบบโครงสร้าง เป็นแนวความคิดในการเขียนโปรแกรมที่มีการนำข้อมูลที่เหมือนกัน มารวมเข้าไว้ด้วยกัน เป็นชุดเดียวกัน เพื่อง่ายต่อการอ้างถึง เช่น struct person{ char *name; char *address; int age; }; BC320:Introduction to Computer Programming

8.1 แนวคิดในการเขียนโปรแกรมเชิงวัตถุ (ต่อ) จากสไลด์ที่ผ่านมาเป็นการประกาศให้ person เป็นชื่อของกลุ่มข้อมูลที่ประกอบด้วยตัวแปร 3 ตัวคือ name, address และ age การนำเอากลุ่มข้อมูลไปใช้งาน สามารถประกาศตัวแปรเป็นแบบ person คือ struct person man1; ซึ่งหมายความว่าให้ตัวแปร man1 เป็นตัวแปรชนิด person เพราะฉะนั้นตัวแปร man1 จะมีโครงสร้างเช่นเดียวกันกับ person คือ ประกอบด้วยตัวแปร 3 ตัวนั่นคือ name, address และ age นั่นเอง BC320:Introduction to Computer Programming

8.1 แนวคิดในการเขียนโปรแกรมเชิงวัตถุ (ต่อ) man1.name = “Supachai”; man1.address = “Bangkok”; man1.age = “18” ให้สังเกตุว่า การเขียนโปรแกรมแบบโครงสร้างจะเป็นการรวมตัวแปรไว้ในกลุ่มเดียวกัน BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming Slide เพิ่ม Name Age Address Supachai Bangkok 18 man1 ถ้าสั่งให้รับค่าข้อมูลของนักศึกษา ตามคำสั่งนี้ ค่าที่เก็บจะเป็นอย่างไร? Read man1.Name Read man1.Address Read man1.Age Name Address Age ? ? ? man1 BC320:Introduction to Computer Programming

8.1 แนวคิดในการเขียนโปรแกรมเชิงวัตถุ (ต่อ) แนวคิดการเขียนโปรแกรมเชิงวัตถุ เป็นการเขียนโปรแกรมเพื่อให้เป็นไปตามหลักการเชิงวัตถุ ซึ่งมีลักษณะเช่นเดียวกับการเขียนโปรแกรมแบบโครงสร้าง แต่จะแตกต่างกันตรงที่ เป็นการนำเอาข้อมูล, ตัวแปร หรือฟังก์ชัน ของวัตถุมา รวมอยู่ในกลุ่มเดียวกัน BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming 8.2 ความหมายของวัตถุ วัตถุคือสิ่งใดๆ ซึ่งมีคุณลักษณะ (State) บ่งบอกถึงความเป็นตัวของมันเอง และสามารถแสดงพฤติกรรม (Behavior) ของตัวมันเองออกมาได้ ยกตัวอย่างเช่น ถ้าพิจารณา คีย์บอร์ด เป็นวัตถุ (Object) คุณลักษณะ: มีปุ่มกด, มีสายเชื่อมต่อ พฤติกรรม: ใช้ป้อนข้อมูลเข้าคอมพิวเตอร์ BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming 8.3 คุณสมบัติของวัตถุ เมื่อพิจารณาวัตถุใด ๆ ก็ตาม จะประกอบด้วย 2 ส่วนสำคัญ คือ คุณลักษณะ และพฤติกรรม คุณลักษณะ คือสิ่งที่สามารถบ่งบอกถึงความเป็นวัตถุ เช่น สี ความสูง น้ำหนัก พฤติกรรม คือ อาการที่วัตถุใดๆ แสดงออกมา เช่น การเคลื่อนที่ การหยุด BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming 8.3 คุณสมบัติของวัตถุ ลักษณะ: พฤติกรรม: จอภาพ,สาย,ปุ่มกด แสดงผลลัพธ์จากคอมพิวเตอร์ ลักษณะ: พฤติกรรม: ปุ่มปรับเสียง,จานเสียง,หน้ากาก แสดงเสียงลักษณะต่าง ๆ ลักษณะ: พฤติกรรม: ปุ่มกด,ถาดรับแผ่น CD,สปริง ฯลฯ อ่านข้อมูลจากแผ่น CD BC320:Introduction to Computer Programming

ดังนั้น Software Object Slide เพิ่ม ดังนั้น Software Object ลักษณะ: พฤติกรรม: ตัวแปรต่าง ๆ (Variables) มี Method สำหรับการทำงาน ดังนั้น Object คือ ซอฟต์แวร์ที่รวมเอา Variables และ Method ที่เกี่ยวข้องไว้ด้วยกัน BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming Slide เพิ่ม แล้ว Method คืออะไร ? สมัยก่อนเขียนโปรแกรมที่ต้องการเรียกใช้คำสั่งต่างๆ ซ้ำไปซ้ำมาหลาย ๆ รอบ ก็จะใช้ Function เพื่อทำให้โปรแกรมลดความซ้ำซ้อนและทำงานเร็วขึ้น ดังนั้น Method ในภาษาจาวา ก็คือ Function ในภาษาซี เขียนครั้งเดียวก็เรียกใช้ได้หลาย ๆ รอบเลย BC320:Introduction to Computer Programming

8.4 การหุ้มห่อ (Encapsulation) การหุ้มห่อ คือ การหุ้มห่อข้อมูล ที่เป็นทั้งคุณลักษณะ และพฤติกรรม ของวัตถุเข้าไว้ด้วยกัน ซึ่งก็จะเหมือนการซ่อนกระบวนการทำงานของข้อมูลไว้ และจะทำให้วัตถุมีความพิเศษอื่นๆ ตามมาด้วย BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming Slide เพิ่ม แสดง Encapsulation ของ Object Variables Method Variables อยู่ตรงกลาง Object แล้วมี Method ห่อหุ้มอยู่รอบนอก ป้องกันไม่ให้ฟังก์ชันอื่นที่ไม่เกี่ยวข้องเข้ามากำหนดตัวแปรต่าง ๆเพิ่มได้ BC320:Introduction to Computer Programming

8.4 การหุ้มห่อ (Encapsulation) (ต่อ) 8.4.1 ความเป็นโมดูล (Modularity) หมายถึงความสามารถในการนำวัตถุไปใช้ที่ใด ๆ ก็ได้ โดยไม่ต้องมีการปรับปรุงสภาพแวดล้อมของการใช้งานก่อน เนื่องจาก Source Code ของแต่ละ Object อิสระกัน เมื่อต้องทำการปรับปรุง ก็สามารถทำได้โดยไม่มีผลกระทบกับการทำงานของระบบซอฟต์แวร์โดยรวม นอกจากนี้ความเป็น Object ทำให้เป็นเสมือนชิ้นส่วนที่นำไปประกอบเข้ากับซอฟต์แวร์อื่น ๆ ที่ออกแบบมาให้รองรับกันและกันได้ BC320:Introduction to Computer Programming

8.4 การหุ้มห่อ (Encapsulation) (ต่อ) 8.4.2 การซ่อนเร้นข้อมูล (Information Hiding) หมายถึงความสามารถในการซ่อน หรือการอนุญาตให้เข้าถึงข้อมูลคุณลักษณะ หรือพฤติกรรมในบางส่วนที่จำเป็น Programmerคนอื่น ๆ ต้องการนำ Object ไปใช้งานหรือเขียนโปรแกรมต่อ ก็ศึกษาแค่ Method และ Variables ที่จำเป็นเท่านั้น ไม่ต้องรู้รายละเอียดทั้งหมด ก็สามารถนำไปใช้งานได้แล้ว เช่น เรานำ Object ชื่อกล้องดิจิตอล ไปใช้งาน เราก็รู้แค่ จำนวนรูปที่ถ่ายได้ และวิธีการใช้งาน เป็นต้น BC320:Introduction to Computer Programming

ข้อดีของ Encapsulation Slide เพิ่ม ข้อดีของ Encapsulation สร้างความปลอดภัยให้ข้อมูล เพราะผู้มีสิทธิเท่านั้นถึงจะเข้าถึงข้อมูลได้ ถ้ามีการเปลี่ยนแปลงวัตถุ(Object) ก็จะไม่ส่งผลกระทบถึงวัตถุอื่น ๆ BC320:Introduction to Computer Programming

8.5 การสื่อสารระหว่างวัตถุ (Message Passing) เมื่อพิจารณาจากวัตถุจักรยานแล้ว การสื่อสารระหว่างวัตถุ ก็อย่างเช่น เมื่อวัตถุคน ไปกระตุ้นวัตถุจักรยานให้แสดงพฤติกรรมออกมา ด้วยการออกแรงปั่น BC320:Introduction to Computer Programming

8.5 การสื่อสารระหว่างวัตถุ (Message Passing) (ต่อ) การสื่อสารระหว่างวัตถุ แบ่งออกได้เป็น 2 กรณี วัตถุด้านส่ง (sender) ร้องขอข้อมูลจากวัตถุด้านรับ (receiver) และจำเป็นจะต้องรอค่าส่งกลับ วัตถุด้านส่ง (sender) ต้องการส่งค่าบางค่าไปเปลี่ยนแปลงข้อมูลที่ฝั่งผู้รับ ซึ่งในกรณีนี้วัตถุผู้ส่งไม่จำเป็นต้องสนใจการส่งค่ากลับคืน BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming ข้อมูล ข้อมูล ข้อความ (message) พฤติกรรม พฤติกรรม พฤติกรรม พฤติกรรม ค่าที่ส่งกลับ (Return value) พฤติกรรม พฤติกรรม วัตถุตัวส่งข้อความ (sender) วัตถุตัวรับข้อความ (receiver) BC320:Introduction to Computer Programming

Message Passing ระหว่าง Object คนกับ Object จักรยาน Slide เพิ่ม Ex1 Message Passing ระหว่าง Object คนกับ Object จักรยาน = + ส่งผ่านข้อมูลแรงปั่นไปให้ Object จักรยาน Object คน + Object จักรยาน BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming Ex2 Slide เพิ่ม ระบบการทำงานที่มีวัตถุคือ คนงาน (Employee) และการจ่ายเงินเดือน (Payroll) โดยวัตถุทั้งสองจะทำงานร่วมกัน โดยที่วัตถุการจ่ายเงินเดือน มีหน้าที่คำนวณค่าเงินเดือนของวัตถุคนงาน ส่วนประกอบภายในของทั้งสอง ได้แก่ คนงาน ประกอบด้วย คุณลักษณะหรือข้อมูล (attribute/data): หมายเลขบัตรประชาชน เพศ วันเดือนปีเกิด ที่อยู่ พฤติกรรม (Behavior/Method) : ร้องขอข้อมูลบัตรประชาชน เพศ วันเดือนปีเกิด ที่อยู่ การจ่ายเงินเดือน ประกอบด้วย คุณลักษณะหรือข้อมูล (attribute/data) : การจ่ายเงินเดือน พฤติกรรม (Behavior/Method) : คำนวณเงินเดือนที่จะต้องจ่าย BC320:Introduction to Computer Programming

Ex3. การสื่อสารระหว่างวัตถุ (Message Passing) โปรแกรมคำนวณเกรด ดังรูป ประกอบด้วยวัตถุ 4 ตัวด้วยกัน คือ Textbox1, Textbox2, ปุ่มกด Enter และ ปุ่มกด Cancel BC320:Introduction to Computer Programming

8.5 การสื่อสารระหว่างวัตถุ (Message Passing) (ต่อ) จากเมนูตัวอย่าง วัตถุแต่ละตัวจะมีพฤติกรรมดังนี้ Textbox1 (Input score) จะทำหน้าที่รับคะแนน Textbox2 (Your grade) จะทำหน้าที่แสดงเกรด ปุ่มกด Enter จะทำหน้าที่ในการสั่งให้โปรแกรมรับคะแนนที่ Textbox1 มาทำการคำนวณเกรด หลังจากนั้นก็เกรดไปแสดงที่ Textbox2 ปุ่มกด Cancel จะทำหน้าที่ในการปิดเมนู BC320:Introduction to Computer Programming

8.5 การสื่อสารระหว่างวัตถุ (Message Passing) (ต่อ) 60 C นำ 60 จาก Textbox1 มาเก็บเก็บไว้ในตัวแปร นำค่าในตัวแปรมาตรวจสอบเงื่อนไข ว่าเกรดเท่ากับเท่าใด นำเกรดที่ได้ ไปแสดงผลที่ช่อง Textbox2 BC320:Introduction to Computer Programming

8.6 ความหมายของคลาส (Class) คลาส เปรียบได้กับพิมพ์เขียวของสิ่งที่เราต้องการสร้างขึ้นมา ซึ่งคลาสจะประกอบด้วยวัตถุหลายๆ ชิ้น รวมขึ้นเป็น 1 คลาส ยกตัวอย่างเช่น คลาสรถยนต์ ก็จะประกอบด้วยล้อรถ ประตู เครื่องยนต์ พวงมาลัย เป็นต้น BC320:Introduction to Computer Programming

8.7 ความแตกต่างระหว่าง คลาสและวัตถุ คลาสก็คือการนำวัตถุหลายๆ อย่างมารวมกัน เพื่อทำให้เกิดสิ่งที่ต้องการ วัตถุจะเป็นส่วนประกอบของคลาส ซึ่งจะมีลักษณะเฉพาะและพฤติกรรม BC320:Introduction to Computer Programming

8.7 ความแตกต่างระหว่าง คลาสและวัตถุ คลาสคอมพิวเตอร์ Mouse Keyboard Monitor CD ROM RAM BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming class Student { public int id; private string name; private string major; private double gpa; public void setname (String n) {name = n; } public String getname () { return name; } public void setmajor (String m) { major = m; } public String getmajor () { return major; } public void setgpa (double g) { gpa = g; } public float getgpa () { return gpa; } } class Student1 { public static void main ( String args[] ) { Student A = new Student (); A.id = 1460200188; A.setname (“Sunisa”); A.setmajor (“Business Computer”); A.setgpa (3.75); System.out.println(A.id + “ “ + A.getname() + “ “ + A.getmajor () + “ “ + A.getgpa()); } p121 สรุป class Student เป็น class ของ class Student1 และ class Student1 ก็เป็น object ของ class Student Class Student มี Attitbute : id, name, major, gpa Method : setname(), getname(), setmajor(), getmajor(), setgpa(), getgpa() class Student1 นั้นจะทำการสืบทอดคุณสมบัติจาก class Student BC320:Introduction to Computer Programming

8.8 การสืบทอดองค์ประกอบของวัตถุ (Inheritance) ส่วนที่พิเศษอย่างหนึ่งของแนวคิดเชิงวัตถุ คือการสืบทอด ซึ่งจะทำให้ในการพัฒนาสิ่งใหม่ๆเป็นไปได้ง่ายขึ้น ยกตัวอย่างเช่น ถ้ามองรถจักรยานเป็นวัตถุหนึ่งแล้ว การที่จะพัฒนารถจักรยานให้เป็นจักรยานเสือภูเขา ก็สามารถนำวัตถุรถจักรยานมาเพิ่มเติมรายละเอียดอีกเล็กน้อย ก็จะทำให้ได้จักรยานเสือภูเขาแล้ว BC320:Introduction to Computer Programming

8.8 การสืบทอดองค์ประกอบของวัตถุ (Inheritance) (ต่อ) คลาสแม่ คลาสลูก BC320:Introduction to Computer Programming

ความสามารถของ Inheritance Slide เพิ่ม ความสามารถของ Inheritance หากต้องการเขียน Class ใหม่ที่มีคุณสมบัติเหมือน Class เดิม โดยยังคงใช้ Class เดิมด้วยในโปรแกรมเดียวกัน เราจะใช้วิธีการถ่ายทอดลักษณะ (Inheritance) โดยไม่ต้องเขียน Code ใหม่ที่ยืดยาว และสามารถออกแบบ Class ให้มีลักษณะต่าง ๆ ได้อย่างหลากหลายในโปรแกรมเดียวกันได้ BC320:Introduction to Computer Programming

8.8 การสืบทอดองค์ประกอบของวัตถุ (Inheritance) (ต่อ) การสืบทอดองค์ประกอบจากคลาสต้นแบบจะมี 2 แบบ BC320:Introduction to Computer Programming

8.8 การสืบทอดองค์ประกอบของวัตถุ (Inheritance) (ต่อ) ตัวอย่าง การสืบทอดคุณลักษณะแบบ Single Inheritance BC320:Introduction to Computer Programming

8.8 การสืบทอดองค์ประกอบของวัตถุ (Inheritance) (ต่อ) ตัวอย่าง การสืบทอดคุณลักษณะแบบ Multiple Inheritance BC320:Introduction to Computer Programming

8.9 ลำดับชั้นของวัตถุ (Hierarchy) คำว่าวัตถุนั้น ในความเป็นจริงแล้วไม่ได้เป็นหน่วยย่อยซึ่งเล็กที่สุด แต่วัตถุจะประกอบด้วยหลายๆวัตถุ เช่น BC320:Introduction to Computer Programming

BC320:Introduction to Computer Programming จบการบรรยาย BC320:Introduction to Computer Programming