ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

     Method (เมธอด) คือ สมาชิกของคลาสอีกอย่างหนึ่งที่ใช้สำหรับกำหนดการกระทำต่างๆ โดยการสร้างเมธอดจะใช้หลักการเดียวกันกับฟังก์ชันทุกประการ จึงอาจกล่าวได้ว่า เมธอดก็คือฟังก์ชันของ Class (คลาส) นั่นเอง ซึ่งในบทความนี้เราจะมาพูดถึง การเรียกใช้งานเมธอดผ่านอินสแตนซ์ Instance Method  ในภาษาไพทอนกัน

Instance Method

     Instance Method (อินสแตนซ์เมธอด) คือ เมธอดที่ต้องเรียกใช้งานผ่านอินสแตนซ์ของคลาสนั้น ซึ่งข้อกำหนดส่วนใหญ่ก็จะเหมือนกับฟังก์ชันเกือบทั้งหมด แต่สิ่งที่แตกต่างออกไปก็คือ พารามิเตอร์ตัวแรกของเมธอดควรเป็นคำว่า self สำหรับใช้อ้างอิงถึงสมาชิก เช่น แอตทริบิวต์หรือเมธอดอื่นๆภายในคลาสนั้น และถึงแม้ในเมธอดนั้นจะไม่อ้างถึงสมาชิกตัวอื่นก็จำเป็นจะต้องมี self กำกับเอาไว้ ซึ่งเราสามารถดูเพิ่มจากลักษณะการนำไปใช้ได้จากนี้เลย 

class calculator:
    def is_number(self, x):  #จะต้องมี self เป็นพารามิเตอร์ตัวแรก
        try:
            float(x)
        except:
            return False
        else:
            return True

    def compute(self, a, b, operator):
        try:
            return eval(f'{a}{operator}{b}')
        except:
            return None

    def show_result(self, a, b, operator):
        print(f'{a}{operator}{b} = {self.compute(a, b, operator)}')

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

cal = calculator()  #สร้างอินสแตนซ์ของคลาส calculator
cal.show_result(10, 20, '*') #เรียกเมธอด

x = cal.compute(1, 9, '+')
y = cal.compute(9, 1, '-')
if cal.is_number(x) and cal.is_number(y):
    cal.show_result(x, y , '*')

     จะเห็นได้ว่าเมธอดของคลาส จะต้องเรียกผ่านอินสแตนซ์ของคลาสนั้น เราจึงเรียกว่าเป็น Instance Method 

ผลลัพธ์

ผลลัพธ์การเรียกใช้เมธอดผ่านอินสแตนซ์ของคลาส
ผลลัพธ์การเรียกใช้

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

 

 

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python

เทคนิคการเขียนไพทอน

9 ชนิดของข้อผิดพลาดในภาษาไพทอน

ฟังก์ชันและปฏิบัติการต่างๆ เกี่ยวกับเซต ในไพทอน

ฟังก์ชันต่างๆ ของข้อมูลแบบ Dictionary ในไพทอน

ไพทอน การสร้างคลาส การเขียนโปรแกรมแบบออปเจ็ค Create Class OOP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แนะนำหนังสือ Pre-Order PHP - high-performance ด้วย Swoole
โดย mindphp อ 24 พ.ย. 2020 4:47 pm บอร์ด Programming - PHP
0
9
อ 24 พ.ย. 2020 4:47 pm โดย mindphp
จ่ายเงินสมทบประกันสังคม มาตรา 33 , 39
โดย milk2533 อ 24 พ.ย. 2020 3:08 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
อ 24 พ.ย. 2020 3:08 pm โดย milk2533
ออกหัก ณ ที่จ่าย ค่าขนส่งคน , ค่าขนส่งของ ต่างกันอย่างไร
โดย milk2533 อ 24 พ.ย. 2020 2:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
6
อ 24 พ.ย. 2020 2:51 pm โดย milk2533
การเขียนสั่งจ่ายเช็ค อย่างไร
โดย milk2533 อ 24 พ.ย. 2020 1:29 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
อ 24 พ.ย. 2020 1:29 pm โดย milk2533
การจัดสินค้าขาย
โดย milk2533 อ 24 พ.ย. 2020 12:49 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
16
อ 24 พ.ย. 2020 12:49 pm โดย milk2533
FIFO สินค้าตามวันหมดอายุ
โดย milk2533 อ 24 พ.ย. 2020 11:17 am บอร์ด Share Knowledge
0
9
อ 24 พ.ย. 2020 11:17 am โดย milk2533
การนับสต๊อคสินค้าเซเว่น
โดย milk2533 อ 24 พ.ย. 2020 11:15 am บอร์ด Share Knowledge
0
8
อ 24 พ.ย. 2020 11:15 am โดย milk2533
ทริป กางเต็นท์ ใกล้กรุงเทพ
โดย milk2533 จ 23 พ.ย. 2020 1:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
จ 23 พ.ย. 2020 1:04 pm โดย milk2533