Skip to content

อ๊อบเจ็กและคลาสใน Python ตอนที่ 3 Getter & Setter Method

บทความนี้เราจะไปเขียน Getter & Setter Method ในอ๊อบเจ็กและคลาสบนภาษา Python กันครับ

ทำไมต้องเขียน Getter และ Setter

  • Getter และ Setter ช่วยให้เราสามารถควบคุมการกระทำการเปลี่ยนแปลงภายในคลาสได้
  • Getter และ Setter ช่วยให้เราสามารถตรวจสอบความถูกต้องของค่าของข้อมูลที่เอาใส่ได้
  • Getter และ Setter ป้องกันการดึงคำสั่งหรือข้อมูลไปใช้งานนอกจากที่เรากำหนดได้
class apple():
    def __init__(self):
        self.__num = 0 # ค่าคงที่ของตัวแปรที่ private ไว้
        self.__star = 0 # ค่าคงที่ของตัวแปรที่ private ไว้

    def setNum(self, num): # Setter method
        self.__num = num
    def getNum(self): # Getter method
        return self.__num
    def setStar(self, star): # Setter method
        self.__star = star
    def getStar(self): # Getter method
        return self.__star

a = apple()
a.setNum(1)
a.setStar(5)

print(a.getNum())
print(a.getStar())

ผลลัพธ์

1
5

หากเราลองเพิ่มคำสั่งเพื่อดึงวัตถุออกมา

print(a._star())
print(a._num())

จะพบกับ

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'apple' object has no attribute '_star'

เพราะทั้งวัตถุ a._star() และ a._num() ถูกป้องกันการเข้าถึงโดยตรงจาก Getter และ Setter ครับ

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories oopTags

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *