วันจันทร์ที่ 27 กุมภาพันธ์ พ.ศ. 2560

9.4 การสร้างอ็อบเจกต์ python

9.4 การสร้างอ็อบเจกต์

การสร้างอ็อบเจกต์

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

source code


emp1 = Employee("Somchai", 15000)
emp2 = Employee("Somsak", 20000)
emp3 = Employee("Somsri", 17500)
ภาพที่ 9.3  แสดงคำสั่งการสร้างอ็อบเจกต์

จากภาพที่ 9.3 จะเห็นว่า emp1, emp2 และ emp3 เป็นอ็อบเจกต์ที่ถูกสร้างขึ้นจากคลาส Employee โดยมีอาร์กิวเมนต์เป็นชื่อและเงินเดือนของพนักงานแต่ละคน ดังนั้น   อ็อบเจกต์ที่สร้างขึ้นมาจำนวนทั้งหมด 3 อ็อบเจกต์

การเข้าถึงแอตทริบิวต์

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

source code

emp1.displayEmployee()
emp2.displayEmployee()
emp3.displayEmployee()
print "Total employee %d" % Employee.empCount

ภาพที่ 9.4 แสดงคำสั่งการเรียกใช้เมท็อด
ดังนั้นเมื่อนำคำสั่งทั้งหมดมาไว้ในโปรแกรมเดียวกัน ผลที่ได้จะมีลักษณะดังภาพที่ 9.5

source code

class Employee:
    'เป็นการประกาศสร้างคลาส Employee เพื่อเก็บข้อมูลพนักงาน'

    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    def displayCount(self):
        print "Total employee %d" % Employee.empCount

    def displayEmployee(self):
        print "Name : ", self.name, "salary : ",self.salary

emp1 = Employee("Somchai", 15000)
emp2 = Employee("Somsak", 20000)
emp3 = Employee("Somsri", 17500)

emp1.displayEmployee()
emp2.displayEmployee()
emp3.displayEmployee()
print "Total employee %d" % Employee.empCount

ภาพที่ 9.5  แสดงคำสั่งทั้งหมดของโปรแกรม
ผลการทำงานของโปรแกรม ดังภาพที่ 9.6

Name :  Somchai salary :  15000
Name :  Somsak salary :  20000
Name :  Somsri salary :  17500
Total employee 3
ภาพที่ 9.6  แสดงผลลัพธ์ของโปรแกรม

                จากภาพที่ 9.6 ผลลัพธ์ที่ปรากฏ 4 บรรทัด เกิดจากคำสั่งที่เรียกใช้ เมท็อด displayEmployee() ซึ่งในเมท็อดได้มีคำสั่งให้แสดง ชื่อ และเงินเดือน ข้อมูลที่แสดงมีความแตกต่างกัน เพราะขึ้นอยู่กับอ็อบเจกต์แต่ละอ็อบเจกต์ สำหรับบรรทัดสุดท้ายแสดงผลการนับจำนวนพนักงานทั้งหมด เป็นการเรียกใช้คำสั่งการบวกเพิ่มครั้งละ 1 รายการ เมื่อมีการเรียกใช้คอนสตรักเตอร์ ด้วยคำสั่ง Employee.empCount +=1

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

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

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...