วันอังคารที่ 3 มีนาคม พ.ศ. 2558

GWT EventBus and Inheritance-Based Polymorphism part 1/2


>> ชื่อเรื่องยาวไปหน่อยครับ แต่มันก็เป็นตามนั้นแหละนะ ทีแรกว่าจะทบทวน GWT กะว่าเขียนสนุกๆ เอาวิธีการออกแบบคลาสของอาจารย์ Prasertcbs มาประยุกต์ก็น่าจะพอแล้ว แต่...จวบจนขณะนี้ก็ปาเข้าไป เออ...ตีสี่ (เฮ้ย เพลินไปหรือเปล่า เหอะๆ นอนดีปะเนี่ย) ก็ยังเขียนไม่เสร็จน่ะครับ แต่ถ้าไม่เล่าให้ฟังตอนนี้เกรงว่าเมื่อหลับไปคงลืมสิ้น (ฮ่า ว่าไปนั่น)

>> event bus คิดว่าเพื่อนๆคงทราบกันดีอยู่แล้ว เพราะได้ยกโค้ดตัวอย่าง ไฟเขียวไฟเหลืองไฟแดง มาเล่าให้ฟังเป็นที่เรียบร้อย

>> อะไรคือ Inheritance-based polymorphism? มันก็คือ การเขียนคลาสเพื่อผู้อื่นจะสืบทอดไปใช้ โดยที่ใช้ตัวมันเป็นคลาส instance และตัวมันต้องชี้ไปยังออบเจ็กต์ที่เป็น concrete คลาสถ่ายทอดชนิดนั้นๆ

>> ยกตัวอย่างเช่น A เป็นคลาสแม่ ส่วน B และ C ต่างสืบทอดมาจาก A หรือเรียก B และ C ว่าลูกของ A เวลาจะใช้งานก็ว่า
A b = new B(); หรือ
A c = new C(); อย่างนี้เป็นต้น

>> อาจารย์ท่านก็ยกตัวอย่างมาดีมากเลยนะครับ เป็นเรื่องของการ์ด (card) ซึ่งอาจแบ่งเป็นหลายประเภทขึ้นอยู่กับความสามารถของมัน ในที่นี้คือการ์ดซื้อของครับ แบ่งออกเป็น
- Silver card (สีเงิน)
- Gold card (สีเหลือง)
- Platinum card (สีดำ)

>> แต่ละใบให้ส่วนลด (discount) แตกต่างกันไป
- Silver card ส่วนลด 0.02%
- Gold card ส่วนลด 0.05%
- Platinum card ส่วนลด 0.10%

>> คำถามคือ เราจะประยุทต์เขียนโปรแกรมด้วยภาษาจาวาในลักษณะงานเช่นนี้ได้อย่างไร อาจารย์ท่านก็ได้เล่าทุกอย่างไว้ ณ ที่นี่ครับ
- Inheritance-Based Polymorphism

>> ผมดูจบก็โค้ดตาม จากนั้นประยุกต์ ได้ดังรูปภาพต่อไปนี้ ซึ่งมันยังไม่แล้วเสร็จ การทำงานก็คือ
- ให้กรอกชื่อลงไป เลือกประเภทการ์ด จากนั้นกดปุ่มเพิ่มการ์ด
- การ์ดสมาชิกที่ถูกเพิ่มจะจัดเก็บในตารางด้านล่างครับ เราสามารถกรอกค่าใช้จ่ายลงไปได้ จากนั้นมันจะคำนวณยอดสุทธิ์ให้โดยอัตโนมัติ

>> ทว่าตอนนี้ดึกไปแล้ว ขอนอนก่อนนะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น