OOP Concept
Abstraction
คือ การมองวัตถุ(Object)เฉพาะภายนอกเท่านั้น โดยไม่สนใจว่าวัตถุนั้นเกิดขึ้นได้อย่างไร หรือมีการทำงานภายในอย่างไร
ใน OOP Abstraction คือการแสดงถึงคุณลักษณะและพฤติกรรมของวัตถุ เท่าทีจำเป็นต้องรับรู้และใช้งาน โดยซ่อนส่วนที่เหลือเอาไว้ เพื่อลดความซับซ้อน
Encapsulation
คือการกำหนดขอบเขตการใช้ หรือขอบเขตการเข้าถึง (Accessibility) แอตทริบิวต์ (Attribute) และเมธอด (Method) เพื่อปกป้องวัตถุในระบบจากวัตถุอื่น หรือการทำงานของโปรแกรม ซึ่งอาจส่งผลให้วัตถุและส่วนประกอบของวัตถุได้รับความเสียหาย โดยแบ่งการเข้าถึง Attribute และ Method ของวัตถุออกเป็น 3 ระดับ คือ
1. การเข้าถึงแบบสาธารณะ (Public) จะอนุญาตให้แอตทริบิวต์และเมธอดสามารถเข้าถึง หรือเรียกใช้ได้จากทุกๆ ส่วนของโปรแกรม รวมไปถึงโปรแกรมอื่นๆ ด้วย
2. การเข้าถึงแบบป้องกัน (Protected) จะอนุญาตให้เฉพาะคลาสหรือวัตถุที่ได้รับการถ่ายทอด (Inheritance) จากคลาสดังกล่าวเท่านั้น ที่สามารถเรียกใช้แอตทริบิวต์และเมธอดดังกล่าวได้
3. การเข้าถึงแบบภายใน (Private) จะมีเพียงคลาสดังกล่าวเท่านั้น ที่สามารถเรียกใช้แอตทริบิวต์และเมธอดได้
1. การเข้าถึงแบบสาธารณะ (Public) จะอนุญาตให้แอตทริบิวต์และเมธอดสามารถเข้าถึง หรือเรียกใช้ได้จากทุกๆ ส่วนของโปรแกรม รวมไปถึงโปรแกรมอื่นๆ ด้วย
2. การเข้าถึงแบบป้องกัน (Protected) จะอนุญาตให้เฉพาะคลาสหรือวัตถุที่ได้รับการถ่ายทอด (Inheritance) จากคลาสดังกล่าวเท่านั้น ที่สามารถเรียกใช้แอตทริบิวต์และเมธอดดังกล่าวได้
3. การเข้าถึงแบบภายใน (Private) จะมีเพียงคลาสดังกล่าวเท่านั้น ที่สามารถเรียกใช้แอตทริบิวต์และเมธอดได้
"don't tell me how you do it; just do it"
Modularity
คือ การแยกสลายสิ่งที่ซับซ้อนให้กลายเป็นส่วนย่อยเล็กๆ
ที่สามารถจัดการได้ ซึ่งช่วยในการลดความยุ่งยากและซับซ้อนของปัญหา ทำให้ง่ายต่อการจัดการ
ที่สามารถจัดการได้ ซึ่งช่วยในการลดความยุ่งยากและซับซ้อนของปัญหา ทำให้ง่ายต่อการจัดการ
Hierarchy
คือการจัดกลุ่มสิ่งต่างๆตามระดับของ Abstraction โดยการใช้โครงสร้างแบบต้นไม้ (Tree structure)
Hierarchy ช่วยทำให้เราเห็นถึงความเหมือนกันหรือแตกต่างกันของสิ่งต่างๆได้ง่ายขึ้น
เช่น เรากำหนดกรอบของ Objectนาฬิกาโดยใช้ ชนิดของการแสดงเวลา เราก็จะได้กลุ่มของนาฬิกาแบบอนาล็อก และกลุ่มของนาฬิกาแบบดิจิตอล แต่ถ้าเรากำหนดกรอบใหม่เป็นชนิดของพลังงานที่นาฬิกาใช้เราก็จะได้กลุ่มของนาฬิกาที่ใช้ถ่าน, นาฬิกาที่ใช้พลังงานแสงอาทิตย์, นาฬิกาที่ใช้พลังงานจากการเคลื่อนไหว เป็นต้น
Hierarchy ช่วยทำให้เราเห็นถึงความเหมือนกันหรือแตกต่างกันของสิ่งต่างๆได้ง่ายขึ้น
เช่น เรากำหนดกรอบของ Objectนาฬิกาโดยใช้ ชนิดของการแสดงเวลา เราก็จะได้กลุ่มของนาฬิกาแบบอนาล็อก และกลุ่มของนาฬิกาแบบดิจิตอล แต่ถ้าเรากำหนดกรอบใหม่เป็นชนิดของพลังงานที่นาฬิกาใช้เราก็จะได้กลุ่มของนาฬิกาที่ใช้ถ่าน, นาฬิกาที่ใช้พลังงานแสงอาทิตย์, นาฬิกาที่ใช้พลังงานจากการเคลื่อนไหว เป็นต้น
Class
Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานและพฤติกรรมเดียวกัน ดังนั้น Object ที่มีคุณสมบัติลักษณะเดียวกันนี้ จะรวมกลุ่มอยู่ใน Class เดียวกัน จึงสามารถสรุปได้ว่า Class คือ ต้นแบบข้อมูลหรือพิมพ์เขียว ที่มีไว้เพื่อสร้าง Object นั่นเอง Class นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้นแล้ว ยังมี Attribute และ Method ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆด้วย
Object
ทุกสิ่งทุกอย่างในโลกนี้ คือ Object ทั้งที่เป็นรูปธรรมและนามธรรม
เราจะใช้ Object แทนสิ่งต่างๆในการแก้ปัญหาหรือเขียนโปรแกรม
Object ประกอบไปด้วย Attribute และ Method
เราจะใช้ Object แทนสิ่งต่างๆในการแก้ปัญหาหรือเขียนโปรแกรม
Object ประกอบไปด้วย Attribute และ Method
ไม่มีความคิดเห็น:
แสดงความคิดเห็น