Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Professor Dr. Nipone Sookpreedee Professor Dr. Nipone Sookpreedee Siam University Siam
Advertisements

เป็นการนำความรู้ด้าน Microsoft Excel ที่มีความพิเศษตรงที่สามารถ กำหนดสูตรการคำนวณในแต่ละเซลล์ ของ Sheet งานนั้นๆได้ โดยอาศัย ความแม่นยำในการคีย์ข้อมูลเข้าไป.
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
การจัดทำเว็บไซต์สำเร็จรูปด้วยโปรแกรม Joomla!
เป็นหลักสำคัญในการนำเสนอเนื้อหา ของบทเรียนคอมพิวเตอร์ช่วยสอนก็คือ ควร นำเสนอภาพที่เกี่ยวข้องกับเนื้อหา ประกอบ กับคำอธิบายสั้นๆ ง่ายๆ แต่ได้ใจความ การใช้ภาพประกอบจะทำให้ผู้เรียน.
คอมพิวเตอร์ช่วยสอน (CAI)
System Database Semester 1, 2009 Worrakit Sanpote 1.
ชื่อเรื่อง : ศึกษาผลการจัดการเรียนรู้ ในรายวิชาการบัญชีบริหาร ด้วยวิธีการเรียนรู้แบบกลุ่มคละผลสัมฤทธิ์ STAD ที่มีต่อผลสัมฤทธิ์ทางการเรียนโดยใช้สถานการณ์จำลองการวางแผนงบประมาณในธุรกิจการผลิตเฟอร์นิเจอร์
เทคนิคการตรวจสอบภายใน
Chapter I พฤติกรรมผู้บริโภค.
บทที่ 1 หลักการทำโครงงาน
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
จัดทำโดย นางสาวพิจิตรา ปันเต เลขที่ 18 นางสาวปิยธิดา อุตมา เลขที่ 19 ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
หลักการแก้ปัญหา อย่างมีขั้นตอน การแก้ปัญหาด้วย กระบวนการทาง เทคโนโลยี สารสนเทศ หลักการ แก้ปัญหา การใช้หลักการใน การแก้ปัญหา.
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
ปรานอม ประทีปทวี 25/09/591 หน้าที่ของครูผู้นิเทศ สพม.5.
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
การออกแบบและเทคโนโลยี
นำเสนอวิธีปฏิบัติที่ดี ด้านกิจกรรมพัฒนานักศึกษา
โครงงาน(Project) เรื่อง ระบบร้านเช่าหนังสือออนไลน์
Material requirements planning (MRP) systems
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 2 : แบบจำลองเครือข่าย (Network Models) part1 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
ระบบ ISO 9001:2015 สำหรับธุรกิจบริหารจัดการเรือ
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
บทที่ 3 การวิเคราะห์ Analysis.
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
แผนที่และเครื่องมือทางภูมิศาสตร์
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
กลุ่มคำและประโยค ภาษาไทย ม. ๓
บทที่ 1 ระบบสารสนเทศ (Information System)
บทที่ 8 การควบคุมโครงการ
The Collections Framework
พื้นฐานการพัฒนาคอมโพเนนต์
กิจกรรมการแลกเปลี่ยนเรียนรู้ งานบริหารและธุรการ คณะบริหารธุรกิจ
พื้นฐานการวิจัยและสร้างสรรค์ทางศิลปกรรมศาสตร์
พื้นฐานการวิจัยและสร้างสรรค์ทางศิลปกรรมศาสตร์
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
ระบบการจัดการคลินิกครบวงจร
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
เข้าใจตน เข้าใจสาขา นายจิรภัทร ผดุงกิจ.
ฝึกวิเคราะห์ย่อหน้า 1 การศึกษาทำให้มีคุณภาพชีวิตที่ดี ทั้งยังช่วยพัฒนาทางด้านความคิด สติปัญญา และสังคม ทั้งนี้การศึกษายังมีความสำคัญต่อการเป็นอยู่ เพราะรากฐานของความมั่นคงมาจากการได้รับการศึกษา.
การบริหารโครงการซอฟต์แวร์
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
โครงการจัดทำระบบฐานข้อมูล วัตถุเสพติดของกลาง (ระยะที่1)
คุณสมบัติเชิงวัตถุ Chapter 6 Edit
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
บทที่ 6 แนวคิดเทคโนโลยีเสมือนจริง
SMS News Distribute Service
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
กฎหมายเอกเทศสัญญา 1 อาจารย์ สุรศักดิ์ มีบัว สาขานิติศาสตร์ คณะมนุษยศาสตร์และ สังคมศาสตร์ มหาวิทยาลัยราชภัฏสวนสุนันทา ครั้งที่ 13.
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
การบริหารจัดการ เชิงสถานการณ์ (Situaional Management)
บทที่ 2 การพัฒนาระบบสารสนเทศ
Computer Game Programming
การบริหารจัดการ เชิงสถานการณ์ (Situaional Management)
สถานการณ์เด็กไทยในปัจจุบัน
รายงานการประเมินตนเองของสถานศึกษา Self – Assessment Report
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
Google Scholar คืออะไร
(Code of Ethics of Teaching Profession)
บทที่ 15 การติดตั้งระบบและการทบทวนระบบงาน.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
การใช้ระบบสารสนเทศในการวิเคราะห์ข่าว
ใบสำเนางานนำเสนอ:

Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์ อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tkorinp@hotmail.com)

วิวัฒนาการของกระบวนทัศน์ (Paradigm Evolution) ที่มา: http://www.slideshare.net/FALLEE31188/brookshear-06

Different Programming Paradigms การเขียนโปรแกรมเชิงโครงสร้าง ใช้การพัฒนาในบล็อกที่กำหนด เข้าใจง่าย ดูแลรักษาง่าย การเขียนโปแกรมเชิงวัตถุ ใช้การพัฒนาแบบจำลองของแต่ละส่วนของโปรแกรม สามารถนำมาใช้ใหม่ได้ ง่ายต่อการปรับปรุงและพัฒนา

Introduction to Object Orientated Programming กระบวนทัศน์ที่แตกต่างกันในการเขียนโปรแกรม ข้อดีของ OOP แนวทางการพัฒนาซอฟแวร์และการสร้างแบบจำลอง แนวคิดที่ใช้ในการเขียนโปรแกรมเชิงวัตถุ (abstraction, encapsulation, inheritance and polymorphism)

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

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

กระบวนการที่สำคัญใน OOP Class definitions instance Abstraction Encapsulation Inheritance Polymorphism Generic class Class libraries Message passing

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

ออบเจ็กต์ (Object) Object คือ สิ่งที่นำมาใช้ในการแก้ปัญหาที่สนใจ Object ประกอบด้วยคุณลักษณะ 3 ประการ คือ - identity ระบุได้ว่าสิ่งนั้นคืออะไร - attribute คุณสมบัติของสิ่งนั้น เหมือนหรือแตกต่างกับสิ่งอื่น - state มีสถานะหรือทำอะไรได้บ้าง (Method) เมื่อมีการเปลี่ยนแปลงสถานะหรือค่าต่างๆในแต่ละช่วงเวลา

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

ทำไมต้องใช้ OOP เราสนใจแต่เขียนโค้ด เพื่อแก้ปัญหา แต่วิธีการพัฒนา ที่ถูกนำมาใช้ไม่สามารถแก้ปัญหาได้ เกิดจากในช่วง analysis and design Maintainability ค่าใช้จ่ายส่วนใหญ่ เกิดจากการพัฒนาและปรับปรุงต่อจากครั้งแรก ต้องแน่ใจว่าซอฟต์แวร์ที่พัฒนาขึ้น มั่นใจว่ามีประสิทธิภาพ ง่ายต่อการดูแลรักษาในอนาคต

Object Oriented Principles Abstraction และ encapsulation เป็นหลักการพื้นฐานในการพัฒนาซอฟต์แวร์ Abstraction ช่วยให้สามารถพิจารณาความคิดที่ซับซ้อนได้ ทราบรายละเอียด ลดความสับสนและสิ่งที่ไม่เกี่ยวข้องได้ Encapsulation ช่วยให้สามารถมุ่งเน้นสิ่งที่สนใจ เมื่อพิจารณาวิธีการทำงานได้ รายละเอียดของวิธีการทำงาน polymorphism ช่วยให้สามารถใช้ประโยชน์จาก Generalization/Specialization โดยใช้การ inheritance (สืบทอด)

Object Oriented Principles (ต่อ) Generalization พิจารณาวัตถุที่มีคุณสมบัติทั่วไปและกำหนดระดับชั้นย่อยๆ เฉพาะที่จะสืบทอด Generalization / specialization กำหนดคุณลักษณะทั่วไปและการดำเนินงานของวัตถุที่แตกต่าง กำหนดคุณลักษณะพิเศษเพิ่มเติมของวัตถุได้ เมื่อสืบทอดจะได้รับลักษณะทั่วไปทั้งหมดของวัตถุแบบอัตโนมัติและเพิ่มลักษณะพิเศษขึ้นได้ Polymorphism สามารถขยายความสามารถให้กับวัตถุได้

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

object oriented analysis and design techniques ช่วยให้เข้าใจโลกความจริงและได้โมเดลที่เข้าใจง่าย 'Class' คือการออกแบบซอฟต์แวร์ที่อธิบายคุณสมบัติทั่วไป โดยการสร้างแบบจำลองทางซอฟแวร์ ‘Object’ ถูกสร้างขึ้นจากClass ที่ออกแบบสำหรับแทนแต่ละสิ่งที่เกิดขึ้นจริง

ประโยชน์ของวิธี OOP ก่อนการพัฒนาซอฟต์แวร์ สิ่งแรกที่คุณต้องพัฒนาคือ แบบจำลองเชิงวัตถุ การสร้างแบบจำลองเชิงวัตถุ เน้นการวิเคราะห์และออกแบบ แนวคิดที่ดีกว่า (แบบจำลองข้อมูลและพฤติกรรมร่วมกัน) การบำรุงรักษาที่ดีกว่า (เข้าใจมากขึ้น) สามารถนำมาใช้ดีกว่า (มีการห่อหุ้มวัตถุ)

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