Sunday 15 July 2012

Python - Using Class



Class เป็น Data Structure ประเภทหนึ่ง ซึ่งภายในอาจจะมี Procedure (บางครั้งเรียกว่า Method) และ Data (บางครั้งเรียกว่า Attribute) อยู่ภายใน ปกติเราจะใช้งาน Class เพื่อซ่อนการใช้งานในส่วนที่ซับซ้อนไว้ภายใน โดยจะ provide เฉพาะ methods หรือ attributes ส่วนที่จำเป็นต่อการใช้งานออกสู่ภายนอก สำหรับการใช้งาน Class ใน Python จะสามารถทำได้ดังตัวอย่างต่อไปนี้


สังเกตุว่า Constructor ใน Python จะใช้ method ที่มีชื่อว่า __init__ และทุกๆ method ใน Class เราจะต้องส่ง self เป็น parameter ตัวแรกเสมอ ซึ่งทำให้รู้สึกแปลกๆเหมือนกัน เพราะในภาษาอื่นๆ (เท่าที่เคยใช้มา) เราไม่จำเป็นต้องส่งเข้าไปเอง ยกตัวอย่างอย่างเช่นในภาษา Java เราจะสามารถใช้งาน this ได้เลย ซึ่งในกรณีนี้น่าเป็นเพราะว่า Python ต้องการให้มีความชัดเจนว่าตัวแปรที่นำมาใช้ มีที่มาที่ไปยังไง ตามหลักการที่ว่า explicit is better than implicit (แต่สุดท้ายก็ยังขัดๆอยู่ดี)

No comments:

Post a Comment