Object Oriented Programming : OOP

Download Report

Transcript Object Oriented Programming : OOP

การโปรแกรมเชิงวัตถุ (Object Oriented
Programming) หรือเรียก
สั้ น ๆ วา่ OOP เป็ นวิธก
ี ารเขียนโปรแกรม
โดยมองสิ่ งตางๆ
ในระบบ
่
เช่น ตัวอักษร, รูปภาพ, หน้าตาง,
แบบฟอรม
่
์
ฯลฯ เป็ นวัตถุหนึ่งชิน
้
Action Script 3 เป็ นภาษาคอมพิวเตอร์ ที่รองรับการใช้ หลักการ
โปรแกรมเชิงวัตถุ
3
การเขียนโปรแกรมแบบ OOP จะเน้น ที่ “Object &
Class” นั่นก็หมายความวา่
พยายามมองทุกสิ่ งทุกอยางในมุ
มของการโปรแกรมให้ เป็ น
่
Object ซึง่ Object เป็ น
สมาชิกของ Class หลักการและความสามารถใน OOP คือ
:: วัตถุ (Object)
:: คุณสมบัติ (properties
)
:: พฤติกรรม (Behavior)
:: คลาส (Class)
:: ตัวดาเนินการ (Operation)
:: อินสแตนซ์
(Instance)
:: การห่อหุ้มข้อมูล (Encapsulation)
:: การสืบ
ทอด (Inheritance)
:: การเปลี่ยนรูป (Polymorphism) :: ความสัมพันธ์
ระหว่าง Class
เป็ นตนแบบหรื
อแมพิ
้
่ มพ ์ ทีใ่ ช้ในการผนวกหลาย ๆ
Object เขาด
น โดยจัด
้ วยกั
้
กลุม
่ ค
ี วามคลายคลึ
งกันอยู่ ใน Class
่ Object ทีม
้
เดียวกัน
ตัวอยางของ
“Class: มวยสากล” ซึง่ จะมี
่
Object มี Properties และ
Behavior ทีแ
่ ตกตางกั
น เช่น “Object สม
่
รักษ”์ “Properties มีลก
ั ษณะตัว
ตัวอย่ าง คลาสบ้ าน
พิมพ์เขียวของบ้ าน = Class
Class เป็ นต้ นแบบที่จะนาไปสร้ างสิ่ งต่ างๆ ในโปรแกรม
Class ไม่ สามารถจะถูกใช้ งานได้ โดยตรง จะต้ องนาไปสร้ างเป็ น
วัตถุตามแบบก่ อนจึงจะใช้ งานได้
6
สิ่ งทีถ่ ูกสร้ างมาจากต้ นแบบเพือ่ ทีจ่ ะนาไปใช้ งานตามทีต่ ้ นแบบ
ได้ ระบุความสามารถว่ าจะสามารถทางานอะไรได้ บ้าง
เช่ นเดียวกับการสร้ างบ้ านหลังหนึ่ง จะต้ องมีการออกแบบบ้ านใน
กระดาษไว้ ก่อน แล้วจึงจะนาไปสร้ างเป็ นหลังได้
บ้ านที่สร้ างมาจากแบบบ้ าน = Object
Object สามารถถูกใช้ งานได้ โดยตรง
Object จะมีคุณสมบัติและความสามารถตามทีไ่ ด้ กาหนดไว้ ในต้ นแบบ
หรือกาหนดไว้ ใน Class นั่นเอง
7
เป็ นคุณสมบัติเฉพาะของ Class นั้นๆ คล้ายๆ ตัวแปรประจาของ
Class นั้นๆ เพือ่ ใช้ ในการเก็บค่ าต่ างๆที่เกีย่ วข้ องภายใน Class
properties ของคนมีอะไรบ้ าง ?
•
•
ความสูง
อายุ
8
การมองภาพสิ่ งตาง
ๆ เป็ นวัตถุเป้าหมาย ภายใน Object
่
ประกอบด
วย
Properties ที
(คุท
ณาให
สมบัต ิ Object แสดง
้ ์ (Event)
เหตุ
ก
ารณ
่
้
ของ Object) กับ Behavior (พฤติกรรมการตอบสนองต
อเหตุ
การณ ์
่
:Event
าง
ๆ าง
ของ ๆ เช่น เหตุการณ ์
พฤติกตรรมต
่
่
Object)
ของปุ่ม Add เมือ
่ ถูก Click จะแสดงพฤติกรรม
ตัวอยคื
าง
“Object
: จักวรยาน”
ประกอบด
วยคุ
ณสมบัต ิ
่ อ สั่ งให
้
Text
างเพื
อ
่
ให
ผู
ใช
้ ้ ้
(Properties) สี้ รถ , ขนาด่ ,รุน,
่
ประเภท เป็ นตน
พฤติกรรมการตอบสนองตอเหตุ
การณ ์
้ และมี
่
สามารถป
อนข
อมู
ล
ได
(Behavior)้ เช่น ้ ตอบสนองต
้ อ่
การปันจักรยาน ตอบสนองตอเหตุ
การณเบรก
เป็ นตน
่
้
์
Object : ปุ่ม ประกอบดวยคุ
ณสมบัต ิ (Properties) ข้อความ
้
บนปุ่ม ,ขนาดของปุ่ม
สี ของปุ่ม, Stye ของปุ่ม เป็ นตน
้ และมีพฤติกรรมการตอบสนองตอ
่
เหตุการณ ์ (Behavior) เช่น
ตอบสนองตอการถู
ก Click เป็ นตน
่
้
 Class = แบบแปลนเครื่องบิน
 Object =
เครื่องบินประเภทต่างๆ
 Class = แบบแปลนรถยนต์
รถประเภท
 Class = สั ตว์
ต่างๆ
 Object = เสือ,วัว
 Object =
10
Class เป็ นสิ่งที่ใช้สร้าง Object
 Object สร้างมาจาก Class
 Class เป็ นต้นแบบของ Object

Class ของบ้าน มีรายละเอียดดังนี้
› บ้านมี
หลังคา
› บ้านมี ประตู
› บ้านมี หน้ าต่าง
Class เป็ นเหมือนต้นแบบหรือแบบ
แปลน แสดงว่า ถ้ามี
12
ส่ วนประกอบของคลาส
Class Name = ชื่อของ Class
Class Body = ส่วนประกอบภายใน Class
› Properties = คุณสมบัติของ Class
› Methods = การกระทาของ Class ว่า Class
สามารถทางานอะไรได้บา้ ง
› Constructor = คล้าย Method แต่มีคณ
ุ สมบัติ
13
class name
constructor
methods
“Method” เป็ นวิธก
ี ารในการควบคุมหรือ สั่ งงาน
Behavior ให้ Object นั้นตอบ
สองตอเหตุ
การณหรื
่
้
์ อคาสั่ งตามทีเ่ รา ตองการ
Object ทีใ่ ช้งานจริง ๆ ถูกสรางขึ
น
้ ใน Class นั้น
้
ๆ เช่น Object ทีถ
่ ก
ู สราง
้
(Instantiated) จาก Class A ก็จะเป็ น Instance
ของ class A
“Class แม”่ (Super Class) สามารถสื บทอดขอมู
้ ล
ไปยัง “Class ลูก” (Sub
Class) ได้ ซึง่ Class ลูกจะรับคุณสมบัตท
ิ ก
ุ อยางมา
่
จาก Class แม่ และสามารถ
เพิม
่ เติมคุณสมบัตใิ หมเฉพาะตั
วของตนเองเขาไป
่
้
คือ ความสั มพันธระหว
าง
Class ทีท
่ างานรวมกั
น
่
่
์
การรวมขอมู
ใน
Object ตัว
้ ล และ ฟังกชั
้
้
์ น เขาไว
เดียว และสามารถปกป้องไมให
่ ้คน
นอก ซึง่ หมายถึง Object อืน
่ ๆ เขาถึ
้ ง
ได้ สามารถ "หอหุ
่ ้มขอมู
้ ล" ภายใน
Class โดยระบุ Keyword ดวย
คาวา่
้
“private” นาหน้า Class นั้น ๆ
ความสามารถในการเขียนโปรแกรมให้ Method ใด
ๆ ของ Object ทีเ่ ราสื บทอดมา
จาก “คลาสแม”่ นั้นสามารถทางานแตกตางไป
จาก
่
Object ใน “คลาสแม”่
เรียกไดว
่ นรูปราง
ของ Object หนึ่ง
้ าเป็
่ นการเปลีย
่
ๆ ตัวอยางเช
่
่ น คลาส
Rectangle และคลาส Circle สื บทอดคุณสมบัตใิ น
การ วาดรูปมาจาก
คลาส Poligon โดยทัง้ สองคลาสนี้สามารถเพิม
่ เติม
คุณลักษณะเฉพาะของตนเอง