• Tidak ada hasil yang ditemukan

Basic Object-Oriented concepts

N/A
N/A
Protected

Academic year: 2024

Membagikan "Basic Object-Oriented concepts"

Copied!
12
0
0

Teks penuh

(1)

Basic Object-Oriented concepts

Object เปนสิ่งของที่มีคุณสมบัติ 3 ประการคือ ID (ชื่อ), attribute (ลักษณะประจํา) และ state (สถานะ)

Class เปนตัวแทนที่รวบรวมกลุมของ วัตถุที่มีคุณสมบัติคลายๆ กันเขาเปน กลุมเดียวกัน

คุณสมบัติ 2 ประการของวัตถุเปลี่ยน รูปมาจากนิยามขางตน กลาวคือ สถานะ เปนการบงบอกถึงลักษณะ ประจําของวัตถุ ณ เวลาหนึ่งๆ สวน พฤติกรรม (behavior) เกิดจากการ เรียกวิธีการ (method/operation) ที่

เปนนิยามของวัตถุในการเปลี่ยนคา (สถานะ) ของลักษณะประจํา นั่น หมายความวา วัตถุมีการเปลี่ยน คุณสมบัติตลอดเวลา (หรือมีพลวัต กับเวลา)

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 1 of 12

(2)

วัตถุมีบทบาทไดมากมาย ขึ้นอยูกับ การสราง (จากคลาส) เพื่อกระทําการ บางลักษณะตามที่ผูใชตองการ

บทบาทของวัตถุเปลี่ยนไดตามเวลา (พลวัตของวัตถุ) อยางไมจํากัด ภายในวัฏจักรชีวิตของวัตถุนั้นๆ กลาวคือ สถานะ (สถานภาพ) ของ วัตถุเปลี่ยนเมื่อเวลาและพฤติกรรม เปลี่ยน

(3)

วัตถุจะทํางานรวมกับวัตถุอื่นเพื่อ บรรลุพฤติกรรม (หรือวัตถุประสงค

ของงานบางประการ) โดยมีกลไกการ ติดตอระหวางวัตถุดวยกัน เชน ผาน ทางสาร (message) หรือเรียกใช

โดยตรง

ผูพัฒนามักจะสราง/จัดหากลไกตางๆ ที่จําเปนเพื่อใหวัตถุทํางานรวมกัน กอใหเกิดผลลัพธจากวัตถุที่มีความ ซับซอนมากขึ้น

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 3 of 12

(4)

วัตถุ (ควรจะเรียกวาคลาสมากกวา) มีกลไกที่สําคัญๆ 3 อยาง คือ Inheritance (การรับทอด), Encapsulation (การหอหุม) และ Polymorphism (ภาวะพหุสัณฐาน) รวมถึงหลักการออกแบบวัตถุที่สําคัญ ซึ่งมีความสัมพันธใกลกับการหอหุม คือ Information hiding (การซอน สารสนเทศ)

สภาวะในการทําใหเกิดผลของคลาส คือการสราง (instantiate) วัตถุจาก คลาสที่นิยามไวแลว กลาวอีกนัย หนึ่งคือ คลาสเปนแนวคิดที่เปน นามธรรม (แทนดวยเสนประ) สวน วัตถุเปนผลลัพธจากคลาสที่เปน รูปธรรม (แทนดวยเสนทึบ) ที่

เชื่อมโยงอยางสมนัยกันตามนิยาม ของคลาส (ตามเสนเชื่อม

ความสัมพันธระหวางคลาสและวัตถุ)

(5)

คลาส (class) เปนเซทของวัตถุที่มี

โครงสรางและพฤติกรรมรวมกัน พูด งายๆ คือเปนตัวแทนหรือนิยามของ วัตถุที่มีลักษณะและการทํางาน เหมือนๆ กัน

คลาสอาจแบงยอยเปนซับคลาส (subclass) ซึ่งสืบทอดคุณสมบัติจาก parent class หรือ superclass

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 5 of 12

(6)

หนาที่หลักของผูออกแบบเชิงวัตถุคือ การสรางระบบที่ซอนความซับซอน (complexity) ทั้งหมดไวในตัววัตถุ

คงมีแตสวนตอประสาน (interface) ที่ติดตอกับโลกภายนอก (ผูใช) เทานั้น พูดงายๆ คือ มองเห็นเฉพาะ สวนตอประสานเทานั้นตามหลักของ การซอนสารสนเทศและการหอหุม

แนวคิดเชิงวัตถุเบื้องตน คือ abstraction (การกําหนด

สาระสําคัญ) ซึ่งเนนลักษณะประจําที่

สําคัญของวัตถุตามมุมมองของผู

สังเกตุ

(7)

เราพอจะสังเกตุรูปแบบของการ กําหนดสาระสําคัญ โครงสราง หรือ พฤติกรรมของวัตถุได (เพื่อการ จําแนกตอไป)

การจําแนก (classification) เปน แนวทางการจัดระเบียบความรู

เกี่ยวกับวัตถุออกเปนกลุมๆ

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 7 of 12

(8)

ขอสังเกตุของการจําแนก คือ ผูสังเกตุ

การณแตละคนจะจําแนกวัตถุ

ออกเปนหมวดหมูตางกัน (ขึ้นอยูกับ มุมมองของแตละคน)

ซึ่งการจําแนกคลาสและวัตถุนั้นตอง ไมกําหนดสาระสําคัญสูงหรือต่ํา (มากหรือนอย) เกินไป ทําใหจําแนก ไดยากและอาจจะละเอียดจนเกินไป (ยากตอการทําใหเกิดผล)

(9)

แนวทางการกําหนดสาระสําคัญที่ดี

คือทําเปนลําดับชั้น โดยเริ่มจาก สาระสําคัญหลักกอน (ภาพรวม) แลว คอยๆ พิจารณาแยกแยะสาระสําคัญ ของแตละสวนยอยลงไปเรื่อยๆ ตามลําดับ ทํานองเดียวกับการรอน ทรายที่เริ่มจากรอนกรวดกอนโตกอน ดวยตะแกรงตาหาง แลวคอยๆ เพิ่ม ความถี่ของตะแกรงขึ้นเรื่อยๆ จนได

ทรายละเอียดในที่สุด

การกําหนดชนิดของวัตถุที่ชัดเจน ปองกันไมใหเกิดความสับสนในการ กําหนดสาระสําคัญ

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 9 of 12

(10)

การสรางโมดูลเปนการรวม สาระสําคัญเขาเปนสวนชัด (discrete) ที่สามารถเรียกใชหรือ นําไปประกอบเปนสวนโปรแกรม (component) ในภายหลังไดงาย

การหอหุมซอนรายละเอียดของการ ทําใหเกิดผลของวัตถุ เปนการรวม (หอ) สวนประกอบยอยๆ เขาดวยกัน เพื่อใหมองเปนสวนชัดเดียวกัน ตาง จากการซอนสารสนเทศตรงที่ผลลัพธ

จากแนวคิดแรกอาจจะเปนระบบ (หนวยยอย) สําเร็จรูปที่ทํางานเปน อิสระในตัวเอง ไมตองมีการเปดสวน ตอประสานใหโปรแกรมอื่นเรียกใช

แตแนวคิดหลังตองเปดชองทางให

ผูใชหรือโปรแกรมติดตอผานทางสวน ตอประสานเพื่อเรียกใชงานหรือตอ ยอดตอไป

(11)

คุณสมบัติ persistence เปนการเก็บ รักษาสถานะและคลาสซึ่งเปนนิยาม ของวัตถุหนึ่งๆ อยางถาวร กลาวคือมี

ที่เก็บ (space) และมีผลใชไดนาน (time) เพราะวัตถุทุกชนิด (ภายใต

การกระทําการเชิงวัตถุ) จะถูกลบทิ้ง หลังจากสิ้นสุดการใชงาน

Concurrency (ภาวะพรอมกัน) เปน การยอมใหวัตถุตางๆ ทํางานในเวลา เดียวกัน ดังเชนแมวในรูปที่สามารถ จับหนู รองเหมียว กระดิกหาง ฯลฯ ไดพรอมๆ กัน

Source: Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, and Kelli A. Houston,

“Object-Oriented Analysis and Design with Application”, 3nd Edition, Addision-Wesley, M.A., 2007. 11 of 12

(12)

การประยุกตใชงานเชิงวัตถุเปนการ นําแนวคิดเชิงวัตถุมาทําใหเกิดผล เพื่อตอยอดเปนงานประยุกต

(application) ใหมๆ ดวยหลักการนํา กลับมาใชใหม (reuse) ในรูปของ สวนโปรแกรม ระบบงานที่สนับสนุน แนวคิดดังกลาวในเชิงพาณิชยที่

สําคัญอันหนึ่งคือ CORBA (ดู

รายละเอียดเพิ่มเติมไดจาก www.corba.org และที่ Object Management Group—OMG www.omg.org)

Referensi

Dokumen terkait

สำำค ัญอยู่ที่ ใจ แล้วประชำชนจะเชื่อม ั่น ในนำยอภิสิทธิ์ ผศ.ชมพู โกติรัมย์ ม ห า ว ิท ย า ล ัย ศ ร ีป ท ุม เมื่อครั้งที่นายอภิสิทธิ์ เวชชาชีวะ นายกรัฐมนตรี ได ้ออก

3.1 รัฐธรรมนูญแหงราชอาณาจักร ไทย ซึ่งมุงประสงคใหมีการรับรองและคุมครอง สิทธิขั้นพื้นฐานนั้น พบวา อัตลักษณของมนุษย อาจถูกรับรองในประเภทของสิทธิ ดังตอไปนี้ สิ ท ธิ ค ว า ม เ ป

ธรรมะอยางไดผล เปนตน ซึ่งในคัมภีรก็ไดแสดงหลักฐานไวอยางชัดเจนวา พุทธบริษัททุกกลุม ไมวาจะเปน ภิกษุ และภิกษุณี ผูที่ไดละทิ้งนิวาสถานบานชอง หรืออุบาสก และอุบาสิกา

• “Object” means a particular item that belongs to a class – Also called an “instance” • Example String s1 = "Hello"; – Here, String is the class, and the variable s1 and the value