ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

dawthana
PHP Super Hero Member
PHP Super Hero Member
Posts: 604
Joined: 07/12/2016 10:55 am

ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by dawthana »

ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)
ภาษา python (ไพทอน) เป็นภาษา script (สคริป์) ที่สนับสุนนการเขียนโปรแกรมแบบ OOP หรือ Object-Oriented ซึ่งจำเป็นต้องรู้จักคำศัพท์ต่างๆที่ใช้ในการเขียน

ทำความรู้จักกับคำศัพท์ต่างๆ
Class (คลาส)คือแม่แบบหรือต้นแบบที่กำหนดคุณสมบัติการทำงานของ Object ที่ถูกสร้างขึ้นมาจาก Class และเข้าถึงตัวแปรได้ด้วยเครื่องหมาย “.”
Class Variable (คลาส วาริเอเบิล) คือตัวแปรที่ใช้ร่วมกันใน class ถูกกำหนดให้อยู่ใน Class แต่นอก Method
Instance Variable (อีนซแท็น วาริเอเบิล) คือตัวแปรที่ถูกสร้างขึ้นและยังคงอยู่ใน method ของ Class ที่ถูกสร้างขึ้นมาเท่านั้น
Inheritance (อินเฮริแท็น) คือการถ่ายโอรความสามารถจาก Class หนึ่งไปสู่อีก Class
Function overloading (ฟังก์ชัน โอเวอร์โหลด) คือฟังก์ชันที่มีชื่อเหมือนกัน แต่สามารถทำงานแยกการทำงานของฟังก์ชันแต่ละตัวได้โดย Arguments
Constructor function (คอนสทรัคเทอะ ฟังก์ชัน) คือฟังก์ชันที่ถูกเรียกอัตโนมัติเมื่อสร้าง Object จาก Class : ซึ่งใน python ใช้ฟังก์ชัน _init_()
Instance (อีนซแท็น) คือการสร้าง Object จาก class โดย Object ที่ถูกสร้างขึ้นจะเป็นชนิดของ Object ที่ดึงเอาความสามารถทั้งหมดออกมาเก็บในตัวแปร
Method (เมดธอด) คือฟังก์ชันที่ถูกสร้างภายใน class
Object (ออบเจค) คือคุณสมบัติต่างๆที่ถูกสร้างขึ้นภายใน class ไม่ว่าจะเป็น Data Members (Class Variable และ Instance Variable) และ Method

รูปแบบการสร้าง Class
class Class_Name :
  • var = value
  • def method_name():
    …………………………...
    ……………………………
    ……………………………
โดย class_Name คือชื่อของ Class และภายใน Class จะประกอบด้วย Method

ตัวอย่างรูปแบบการสร้าง Class

Code: Select all

class 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 "None : ", self.name, "Salary : ", self.salary
ตัวอย่างรูปแบบการสร้าง Instance Objects()

Code: Select all

obj1 = Employee("Minephp", 2500)

obj2 = Employee("Python", 5600)
ตัวอย่างการเรียกใช้งาน Class
class.png
class.png (48.96 KiB) Viewed 1443 times
ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=636m_YW ... lzdKrpxsMM



Four
PHP Super Hero Member
PHP Super Hero Member
Posts: 813
Joined: 08/01/2018 9:55 am

Re: ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by Four »

Code: Select all

class employee:

    count = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        employee.count += 1
    def discount(self):
        print("total %d" % employee.count)
    def disemployee(self):
        print("name:", self.name, "salary:", self.salary)

obj1 = employee("test", 1000)

obj2 = employee("mindphp", 2000)

obj3 = employee("python", 3000)

obj1.disemployee()
obj2.disemployee()
obj3.disemployee()
print("total %d" % employee.count)
ผลรัน

Image
I am slow walker, but I never walk back. (Abraham Lincoln)

User avatar
Jom07
PHP Super Hero Member
PHP Super Hero Member
Posts: 514
Joined: 08/01/2018 9:56 am

Re: ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by Jom07 »

Code: Select all

class employee:

    count = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        employee.count += 1
    def discount(self):
        print("total %d" % employee.count)
    def disemployee(self):
        print("name:", self.name, "salary:", self.salary)

obj1 = employee("python1", 100)

obj2 = employee("python2", 200)

obj3 = employee("python3", 300)

obj1.disemployee()
obj2.disemployee()
obj3.disemployee()
print("total %d" % employee.count)
ผลรัน

Image

ศึกษาข้อมูลจาก :https://www.youtube.com/watch?v=636m_YW ... M&index=42
Image

rangsan
PHP Hero Member
PHP Hero Member
Posts: 199
Joined: 30/04/2018 9:44 am

Re: ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by rangsan »

OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

ในส่วนของโค้ด

Code: Select all

class workker:
    
    empCount = 0 #Class Variable
    
    def __init__(self,name,salary):
        self.name = name
        self.salary = salary
        workker.empCount += 1
        
    def displayCount(self):
        print "Tottal Workker %d : " % workker.empCount
    def displayWorkker(self):
        print "Name : ",self.name, ", Salary : ",self.salary
    
#pull skill workker out of var_obj1
obj_1 = workker("Mindphp",50000)
    
#pull skill workker out of var_obj2
obj_2 = workker("Python",70000)
    
obj_1.displayWorkker()
obj_2.displayWorkker()

print "Total Workker %d " % workker.empCount
ผลการรัน
OOP.png
OOP.png (4.67 KiB) Viewed 1131 times
ศึกษาจาก : https://www.youtube.com/watch?v=636m_YW ... lzdKrpxsMM
It’s never too late to start again.

prakon
PHP Super Hero Member
PHP Super Hero Member
Posts: 561
Joined: 02/07/2018 10:45 am

Re: ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by prakon »

ลองทำตามแล้ว เข้าใจครับ

Code: Select all

class Employee:
    #ตัวอย่างการสร้าง class โดยภายในมี 3 method
    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)

#ส่งความสารถในคลาสมาเก็บไว้ในตัวแปร
obj1 = Employee("mind php",2500)
obj2 = Employee("Python",5600)

obj1.displayEmployee()
obj2.displayEmployee()
print("Total Employee %d"%Employee.empCount)

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 2505
Joined: 17/06/2019 10:30 am

Re: ทำความรู้จักกับภาษา python (42) : ภาษา python (ไพทอน) แบบ OOP-Object-oriented (โอโอพี-ออบเจ็ค-โอเรียนเทด)

Post by jirawoot »

Code: Select all

class 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)

odj1 = Employee('python', 2500)

odj2 = Employee('mindphp', 5600)

odj1.displayEmployee()
odj2.displayEmployee()
print("Total Employee %d"% Employee.empCount)
Selection_016.png
Selection_016.png (7.45 KiB) Viewed 563 times

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 6 guests