Python OOP คืออะไร
Python OOP (Object Oriented Programming) คือการเขียนโปรแกรมเชิงวัตถุด้วยภาษา Python
การเขียนโปรแกรมแบบนี้จะมองทุกอย่างเป็นวัตถุ (Object) โดยการสร้าง Class ที่ประกอบด้วย Attribute และ Method เป็นส่วนประกอบหลัก
Class เปรียบเสมือนพิมพ์เขียน หรือ blueprint ที่จะนำไปสร้างเป็น Object กี่อันก็ได้ เพื่อนำไปใช้งาน
สรุปการเขียน OOP คือ สร้าง Class ประกอบด้วย Attribute กับ Method
เวลาเรียกใช้ Class ก็จะสร้างวัตถุ หรือ Object ซึ่งเป็นตัวแทนของ Class ดังกล่าว เช่น Class A นำไปสร้างเป็น Object A, B, C ใช่ไหม
ใช่ถูกต้องแล้ว อันนี้คือหลักการพื้นฐานของ OOP
แล้ว Attribute กับ Method ใน Class คืออะไร ทำหน้าที่อะไร
Attribute คือคุณสมบัติ หรือคุณลักษณะของ Class หรือก็คือตัวแปรภายใน Class
Method คือฟังก์ชันการทำงานภายใน Class
ขอตัวอย่างการสร้าง Class ง่ายๆ ด้วย Python หน่อย
class Demo:
name = ''
def __init__(self, name):
self.name = name
def hello(self):
print("Hello " + str(self.name))
จากโค้ดอธิบายได้ดังนี้
1. สร้าง Class ชื่อ Demo
2. ใน Class Demo มี Attribute 1 ตัวคือ name
3. ใน Class Demo มี Method 2 อันคือ __init__ และ hello
def __init__ คือ Constructor Method ทำให้สามารถกำหนดค่า Attribute ได้เลยตอนสร้าง Object
def hello คือ Method ทำหน้าที่พิมพ์ข้อความ Hello ตามด้วยค่า Attribute name
แล้วจะเรียกใช้ Class ที่สร้างขึ้นมาได้ยังไง
อย่างที่บอกเวลาจะเรียกใช้ Class ใน OOP จะต้องสร้างวัตถุ หรือ Object
class Demo:
name = ''
def __init__(self, name):
self.name = name
def hello(self):
print("Hello " + str(self.name))
demo_1 = Demo('Devdit')
demo_1.hello()
demo_2 = Demo('Computer')
demo_2.hello()
// ผลลัพธ์
Hello Devdit
Hello Computer
สร้าง Object ชื่อ demo_1 จาก Class Demo กำหนดค่า Attribute name เท่ากับ Devdit และเรียกใช้ Method hello
สร้าง Object ชื่อ demo_2 จาก Class Demo กำหนดค่า Attribute name เท่ากับ Computer และเรียกใช้ Method hello
สำหรับ Python การเขียนแบบ OOP ต่างยังไงกับการเขียนแบบฟังก์ชันยังไง
การเขียนโปรแกรมแบบ OOP และฟังก์ชันใน Python มีความแตกต่างกัน
ถ้าสนใจแค่ input process output และแต่ละการทำงานไม่เกี่ยวข้องกัน ไม่ซับซ้อน อาจพิจารณาการเขียนโปรแกรมแบบฟังก์ชัน
แต่ถ้ามองข้อมูลเป็นวัตถุ มีคุณสมบัติ และหน้าที่การทำงานที่มีความเกี่ยวข้องกัน มีความซับซ้อน อาจพิจารณาการเขียนโปรแกรมแบบ OOP
ท้ายที่สุดในการพัฒนาโปรแกรมอาจจมีทั้งแบบ OOP และฟังก์ชันร่วมกันก็ได้
ข้อดีของ OOP คืออะไร ทำไมต้องเขียนโปรแกรมแบบ OOP
1. ทำให้โค้ดมีระเบียบ มีความชัดเจน บำรุงรักษาได้ง่าย
2. ลดความซ้ำซ้อนของการเขียนโค้ดได้อย่างมีประสิทธิภาพ
3. รองรับการขยาย มีความยืดหยุ่นสูงเหมาะกับระบบงานที่มีความซับซ้อน
แล้วข้อเสียของการเขียนโปรแกรมแบบ OOP ละ
1. มีความซับซ้อนเพิ่มมากขึ้น จากแนวความคิด และหลักการของ OOP
2. ต้องเขียนโค้ดเพิ่มมากขึ้น และไม่เหมาะกับงานขนาดเล็ก
3. ต้องใช้เวลาในการเรียนรู้ และเข้าใจหลักการ OOP ซึ่งอาจไม่ง่ายเมื่อเทียบกับแบบอื่น
จะพยามศึกษา OOP เพื่อเขียนโปรแกรมที่มีความซับซ้อนได้อย่างมีประสิทธิภาพ
สู้ๆ ทำได้แน่นอน