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

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

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

dawthana
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 604
ลงทะเบียนเมื่อ: 07/12/2016 10:55 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย 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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

obj1 = Employee("Minephp", 2500)

obj2 = Employee("Python", 5600)
ตัวอย่างการเรียกใช้งาน Class
class.png
class.png (48.96 KiB) Viewed 3273 times
ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=636m_YW ... lzdKrpxsMM
Four
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 813
ลงทะเบียนเมื่อ: 08/01/2018 9:55 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Four »

โค้ด: เลือกทั้งหมด

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)
ผลรัน

รูปภาพ
I am slow walker, but I never walk back. (Abraham Lincoln)
ภาพประจำตัวสมาชิก
Jom07
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 514
ลงทะเบียนเมื่อ: 08/01/2018 9:56 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Jom07 »

โค้ด: เลือกทั้งหมด

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)
ผลรัน

รูปภาพ

ศึกษาข้อมูลจาก :https://www.youtube.com/watch?v=636m_YW ... M&index=42
รูปภาพ
rangsan
PHP Hero Member
PHP Hero Member
โพสต์: 199
ลงทะเบียนเมื่อ: 30/04/2018 9:44 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย rangsan »

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

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

โค้ด: เลือกทั้งหมด

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 2961 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
โพสต์: 561
ลงทะเบียนเมื่อ: 02/07/2018 10:45 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย prakon »

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

โค้ด: เลือกทั้งหมด

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)
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

โค้ด: เลือกทั้งหมด

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 2393 times
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25361
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

โค้ด: เลือกทั้งหมด

class Employee:

    empcount = 0

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

    def disempcount(self):
        print("Total %d" % Employee.empcount)

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

obj1 = Employee("Bow", 18000)

obj2 = Employee("Bow2", 20000)

obj3 = Employee("Bow3", 25000)

obj1.disEmployee()
obj2.disEmployee()
obj3.disEmployee()
print("Total %d" % Employee.empcount)
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (6.02 KiB) Viewed 1850 times
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 46