Abstraction
คือ กระบวนการการให้ความคิดรวบยอดกับวัตถุใด ๆ เพื่อสร้าง class ซึ่งแบ่งได้เป็น 4 กระบวนการ ดังต่อไปนี้
1. Classification Abstraction เป็น กระบวนการที่ใช้แยกประเภทวัตถุต่าง ๆ ที่อยู่ในกรอบความคิด เพื่อให้ความคิดรวบยอดแก่วัตถุเหล่านั้น จนกระทั่งได้ Class พื้นฐานตามต้องการ
2.Aggregation Abstraction คือ กระบวนการที่นำเอา Class พื้นฐาน มารวมกัน หรือ ประกอบกัน เพื่อให้เกิด class ที่ใหญ่ขึ้น (แต่ยังไม่หมด)
3. Generalization Abstraction คือ กระบวนการในการนำ class ที่มีลักษณะเหมือนกันหรือคล้ายกันหรือมีสมบัติอย่างใดอย่างหนึ่งร่วมกัน มาจัดหมวดหมู่ เป็น class เดียวกัน ในทำนองกลับกัน ถ้ามี class 1 class แล้วจำแนกออก เป็นClass ย่อย ๆ เราเรียกวิธีการนี้ว่า Specialization
4.Association Abstraction
คือ กระบวนการในการสร้างความสัมพันธ์ ระหว่าง class ต่าง ๆ ใน Problem domain ที่เราสนใจ โดยเป็นการอธิบายความสัมพันธ์ ของ class ในเชิงกิจกรรม
Encapsulation
คือการรวม data และ method ทั้งหลายที่เกี่ยวข้องกัน และทำงานร่วมกันเอาไว้ใน object หนึ่งๆ นอกจากนี้แล้วยังมีการซ่อนรายละเอียดของการทำงานของ method ต่างๆใน object เอาไว้ และไม่ให้ object อื่นๆสามารถที่จะเข้าไปแก้ไข data ได้โดยตรง เช่น การแก้ไขโดยการเรียก object.data เป็นต้น การติดต่อสื่อสารกันระหว่าง object จะติดต่อกันผ่าน interface ที่กำหนดเอาไว้ ซึ่งตรงนี้จะก่อให้เกิดความสะดวกในการจัดการโค้ดต่างๆครับ เช่นถ้าเราเปลี่ยนลักษณะการเขียนโค้ดใน class ที่ encapsule เอาไว้ การเปลี่ยนของเราจะไม่ไปกระทบกับ class อื่นๆ
Modularity
ก่อให้เกิดพื้นฐานของการที่โปรแกรมถูกพัฒนาและผลลัพธ
ของการบำรุงรักษา software
high cohesion: ความสัมพันธ์กันอย่างใกล้ชิดระหว่างหน่วย (unit) ภายใน software module
low coupling: ความขึ้นตรงต่อกันและกันแบบไม่ใกล้ชิดระหว่างsoftware modules ที่แตกต่างกัน
หน่วย (Unit) ของ software modulemethod จัดเป็น programming unit ที่เล็กที่สุด class เปน unit ที่ใหญ่ขึ้นถัดมา methods ที่เกี่ยวเนื่องสัมพันธ์กันจะถูกจัดไว้ใน class definition เดียวกันpackage ใน Java ก่อให้เกิดที่บรรจุ software สำหรับคลาสต่างๆที่มีหน้าที่การทำงานที่เกี่ยวข้องกัน
Hierarchy
.jpg)
คือ ระบบการเก็บแฟ้มข้อมูลตามลำดับชั้นใช้ตัวย่อว่า HFS เป็นระบบที่ช่วยทำให้จัดเก็บแฟ้มข้อมูลเป็นกลุ่ม วิธีการเก็บแบบนี้ เป็นการเก็บแฟ้มข้อมูลไว้ในโฟลเดอร์ (folder) เราจะเห็นสัญรูป (icon) ของโฟลเดอร์ต่าง ๆ นี้บนจอภาพ และเมื่อเปิดเข้าไปในแต่ละโฟลเดอร์ ก็จะมองเห็นแฟ้มข้อมูล หรืออาจจะมีโฟลเดอร์ย่อย (subfolder) อยู่ภายในโฟลเดอร์อีกทีหนึ่ง การเก็บแฟ้มในระบบนี้ ผู้ใช้เข้าใจได้ง่ายกว่าเรื่อง ระบบ (directory) และระบบย่อย ของดอส เพราะเห็นภาพชัดเจนกว่า - Hope
Class
- Class หมายถึงโครงสร้างของ object โดย class เป็นตัวกำหนดว่า object นั้นจะมี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของออปเจ็ค - ออปเจ็คที่ถูกสร้างมาจากคลาส (class) บางครั้งเรียกว่าเป็น instance ของคลาส คลาสหนึ่งคลาสสามารถสร้างออปเจ็คได้หลายออปเจ็ค - Object นั้นจะถูกสร้างขึ้นตามกระบวนการทำงานของ JVM โดยที่นักพัฒนาจะต้องนิยาม Class ที่ต้องการให้กับ JVM
Object
- Object คือ สิ่งที่มีคุณสมบัติและพฤติกรรมตามที่กําหนดไว้ในคลาส
- ออบเจ็กต์(object) แบ่งได้เป็นสองประเภท คือ
1) สิ่งที่เป็นรูปธรรม (tangible) คือสิ่งที่เป็นวัตถุและจับต้องได้อาทิเช่น นักศึกษา ปากกา และรถ เป็นต้น
2) สิ่งที่เป็นนามธรรม (intangible) คือสิ่งที่ไม่สามารถจับต้องได้อาทิเช่น คะแนนรายชื่อวิชา การลงทะเบียน การฝาก-ถอนเงิน และตารางเที่ยวบิน เป็นต้น
Object ประกอบไปด้วย
1) คุณลักษณะ (attribute) หรือข้อมูล (data)
2) เมธอด (method) หรือพฤติกรรม (behavior)
3) คุณลักษณะ (attribute) หรือข้อมูล (data) ข้อมูลของ Object แต่ละ Object อาจมีข้อมูลที่แตกต่างกัน
4) เมธอด (method) หรือพฤติกรรม (behavior) สิ่งที่ Object สามารถกระทำได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น