แนวคิดเชิงวัตถุ (Object Oriented)
• แนวคิดเชิงวัตถุ (Object Oriented) หมายถึง การใช้ Object เป็นตัวหลักในการพิจารณาความเป็นจริงต่างๆที่เกิดขึ้นในโลก โดยมองทุกสิ่งในโลกเป็นวัตถุทั้งหมด และมองว่ากิจกรรมที่เกิดขึ้นในโลกนี้เกิดจากความสัมพันธ์และปฏิสัมพันธ์ระหว่างวัตถุ
การเปรียบเทียบการวิเคราะห์และออกแบบระบบวิธีเดิมกับวิธีเชิงวัตถุ
วิธีเดิม
เริ่มต้นจากการวิเคราะห์เอกสารผลลัพธ์ และการทำงานของระบบงานเดิม
แบ่งกลุ่มของ Object ตามคุณลักษณะ
แต่ละ Object เป็นอิสระต่อกัน การเปลี่ยนแปลงจะไม่กระทบกัน
การปรับเปลี่ยนระบบ ทำได้โดยการเปลี่ยน Attributes, Functions ของ Object
Tools ที่สนับสนุนมีน้อยลง
วิธีเชิงวัตถุ
เริ่มต้นการวิเคราะห์จาก Objects ที่ สามารถเห็นได้ชัดเจน
แตกการทำงานออกเป็นหน่วยย่อยๆ
องค์ประกอบต่างๆของระบบ เช่น การประมวลผล การออกรายงาน การคำนวณ จะเกี่ยวพันกัน การเปลี่ยนแปลงจะกระทบซึ่งกันและกัน
การปรับเปลี่ยนระบบต้องแก้ไข Source Code
Tools ที่สนับสนุนมีมากขึ้น
วัตถุ (Objects)
• วัตถุ (Object) คือหน่วยสนใจของระบบที่ทำให้เกิดเหตุการณ์ วัตถุเป็นได้ทั้งสิ่งที่สามารถจับต้องได้ (เช่น โต๊ะ รถยนต์ คอมพิวเตอร์ คน) และวัตถุที่ไม่สามารถจับต้องได้ (เช่น บริษัท ฝ่ายต่างๆ หลักสูตร)
• การสื่อสารระหว่าง Object เรียกว่า Message คลาส (Class)
• Class คือกลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน Object ที่มีคุณสมบัติเดียวกัน ก็จะรวมกลุ่มอยู่ใน Class เดียวกัน
• Class และ Object มีความคล้ายกันมากจนทำให้หลายคนสงสัยว่าเป็นสิ่งเดียวกันหรือไม่ ในความเป็นจริง Class ถือว่าเป็น นามธรรม (Abstract) ในขณะที่ Object นั้นเป็นสิ่งที่มีตัวตน (Concrete) กล่าวคือ Class เป็นเหมือนพิมพ์เขียวของ Object โดยที่ Class จะไม่สามารถทำงานได้ แต่ Object สามารถทำงานได้
• การทำงานของ Object จะเป็นไปตามคุณสมบัติที่กำหนดไว้ใน Class และ Object ทุกตัวก็ต้องอยู่ใน Class ดังนั้น Class และ Object จึงเป็นสิ่งคู่กันเสมอ
• Class นอกจากจะมีชื่อ Class กำกับแล้ว ยังมี คุณสมบัติ (Attributes) และ หน้าที่การทำงาน (Operations หรือ Methods)