Issuu on Google+


วิวฒั นาการของเทคนิคการเขียนโปรแกรม ป 1950 เขียนโปรแกรมโดยการโยกสวิตซไฟฟา ทําใหเกิดรหัส 0 และ 1 เขียนโปรแกรมดวยภาษาแอสเซมบลี้ เขียนโปรแกรมดวยภาษาภาษาระดับสูง ภาษาแรก คือ ฟอรแทน structured programming เปนลักษณะโปรแกรมทํางานอะไร มากกวา โปรแกรมทํางานอยางไร เชน pascal,cobol,turbo,basic • OOP (object oriented programming) การเขียนโปรแกรมเชิงวัตถุ ชวย ลดความซับซอนของโปรแกรม • • • •


ความหมายของ OOP • OOP (Object Oriented Programming) เปนวิธีการเขียนโปรแกรมซึ่งจัด ดําเนินการกับกลุมของ ออบเจ็กต ที่มีอยูในโปรแกรม • ออบเจ็กต เปนชนิดของขอมูล ประกอบไปดวยกลุมของ ขอมูล (data) และกลุมของฟฟงกชนั (function) • ออบเจ็กต เปนสมาชิกของ ตัวแปรคลาส (class variable) มีลักษณะเปน โมดูล ประกอบดวยตัวแปร ชนิดตางๆ ที่สมั พันธกัน • คลาส จะหอหุม ขอมูลและฟงกชันรวมไวดว ยกันเรียกวา encapsulation


คุณสมบัติของ OOP • 1. มีการรวบรวมขอมูลเขากับฟงกชัน (encapsulation) มี สวนประกอบ และการทํางาน สามารถใชงานไดทันที • 2. การสืบทอด (inheritance) จากพอแมสูลูก • 3. มีหลายรูปแบบ (polymorphism) คือ คุณสมบัติออบเจ็กตตางๆ เมื่อรับคําสั่งเดียวกัน จะทํางานตามแบบของตัวเอง


ความหมายของ object • Object หมายถึง สิ่งของหรือวัตถุเปาหมาย ประกอบดวย กลุม ขอมูลและกลุมของฟงชัน


object


วิธสี รางคลาส (class) ตนกําเนิดของออบเจ็กต • Object ตองสรางขึ้นจาก ขอมูลชนิด class ซึ่งมี โครงสรางดังภาพ


รูปแบบของการสรางชนิดขอมูล class


class • Class เปนขอมูลแบบ structure ประกอบไปดวยสมาชิกที่เรียกวา class member มีสมาชิกอยู 2 ประเภท คือ • 1. data member หรือกลุมสมาชิกของคลาส อาจเรียกวา member variable , data item • 2. member function หรือกลุมของฟงกชันที่เปนสมาชิกของคลาส อาจเรียกวา method, behavior


• Private: หมายถึง ชื่อของ data member และ member function จะเรียกใชไดภายในคลาสนี้เทานั้น • Public: หมายถึง ชื่อของ data member และ member function จะเรียกใชไดภายนอกคลาสได • Protected: หมายถึง ชื่อของ data member และ member function จะเรียกใชไดเฉพาะในคลาส และในคลาสที่สืบทอดตอๆ กันไปเทานั้น


รูปแบบการสราง member function • รูปแบบที่ 1 –กําหนดรายละเอียดของ member function ตอจากฟงกชัน main() ชื่อคลาส ใชเครื่องหมายแบงแยกขอบเขต :: (scope resolution operator)


• รูปแบบที่ 2 –กําหนดรายละเอียดของ member function กอนฟงกชัน main และอยูภายนอกคลาส ชื่อคลาสใชเครื่องหมายแบงแยกขอบเขต :: (scope resolution operator)


• รูปแบบที่ 3 –กําหนดรายละเอียดของ member function อยูภายในคลาส ไมตองเขียนชือ่ คลาส และไมตองเขียนเครื่องหมายแบงแยก ขอบเขต


การสรางและเรียกใชออบเจ็กตจากคลาส • กอนที่จะสรางออบเจ็กตใชในโปรแกรมไดจะตองสรางคลาสให ถูกตองกอน เพราะ คลาส เปนตนกําหนดของออบเจ็กต • คลาสตองกําหนด data member และ member function • เขียน code ของ member function ใหสมบูรณ


คุณสมบัตกิ ารสืบทอด (inheritance) • การสืบทอด เปนคุณสมบัติสําคัญของการเขียนโปรแกรมเชิงวัตถุ • ancestor หรือ base class เปนการถายทอดคุณสมบัติตางๆ ของ ออบเจ็กตที่เปนตนกําเนิด • Desendant หรือ derived class เปนลูกหลานหรือผูสืบทอด • ทําใหเกิดความสัมพันธระหวางคลาสและออบเจ็กต


คุณสมบัตกิ ารสืบทอด (inheritance) • Derived class จะสืบทอดคุณสมบัติทั้งหมดของ data member และ member function ที่มีอยูใน base class ยกเวน constructor และ distructor


ความสัมพันธระหวาง base class กับ derived class


ความสัมพันธระหวาง base class กับ derived class


ความสัมพันธระหวาง base class กับ derived class


รูปแบบของการสราง derived class



โปรแกรมแบบ OOP